summaryrefslogtreecommitdiff
path: root/notes-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'notes-utils.c')
-rw-r--r--notes-utils.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/notes-utils.c b/notes-utils.c
index 9107c37..ccbf073 100644
--- a/notes-utils.c
+++ b/notes-utils.c
@@ -4,7 +4,8 @@
#include "notes-utils.h"
void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
- const struct strbuf *msg, unsigned char *result_sha1)
+ const char *msg, size_t msg_len,
+ unsigned char *result_sha1)
{
unsigned char tree_sha1[20];
@@ -18,14 +19,14 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
unsigned char parent_sha1[20];
if (!read_ref(t->ref, parent_sha1)) {
struct commit *parent = lookup_commit(parent_sha1);
- if (!parent || parse_commit(parent))
+ if (parse_commit(parent))
die("Failed to find/parse commit %s", t->ref);
commit_list_insert(parent, &parents);
}
/* else: t->ref points to nothing, assume root/orphan commit */
}
- if (commit_tree(msg, tree_sha1, parents, result_sha1, NULL, NULL))
+ if (commit_tree(msg, msg_len, tree_sha1, parents, result_sha1, NULL, NULL))
die("Failed to commit notes tree to database");
}
@@ -43,12 +44,12 @@ void commit_notes(struct notes_tree *t, const char *msg)
/* Prepare commit message and reflog message */
strbuf_addstr(&buf, msg);
- if (buf.buf[buf.len - 1] != '\n')
- strbuf_addch(&buf, '\n'); /* Make sure msg ends with newline */
+ strbuf_complete_line(&buf);
- create_notes_commit(t, NULL, &buf, commit_sha1);
+ create_notes_commit(t, NULL, buf.buf, buf.len, commit_sha1);
strbuf_insert(&buf, 0, "notes: ", 7); /* commit message starts at index 7 */
- update_ref(buf.buf, t->ref, commit_sha1, NULL, 0, DIE_ON_ERR);
+ update_ref(buf.buf, t->ref, commit_sha1, NULL, 0,
+ UPDATE_REFS_DIE_ON_ERR);
strbuf_release(&buf);
}
@@ -70,12 +71,12 @@ static combine_notes_fn parse_combine_notes_fn(const char *v)
static int notes_rewrite_config(const char *k, const char *v, void *cb)
{
struct notes_rewrite_cfg *c = cb;
- if (!prefixcmp(k, "notes.rewrite.") && !strcmp(k+14, c->cmd)) {
+ if (starts_with(k, "notes.rewrite.") && !strcmp(k+14, c->cmd)) {
c->enabled = git_config_bool(k, v);
return 0;
} else if (!c->mode_from_env && !strcmp(k, "notes.rewritemode")) {
if (!v)
- config_error_nonbool(k);
+ return config_error_nonbool(k);
c->combine = parse_combine_notes_fn(v);
if (!c->combine) {
error(_("Bad notes.rewriteMode value: '%s'"), v);
@@ -85,7 +86,7 @@ static int notes_rewrite_config(const char *k, const char *v, void *cb)
} else if (!c->refs_from_env && !strcmp(k, "notes.rewriteref")) {
/* note that a refs/ prefix is implied in the
* underlying for_each_glob_ref */
- if (!prefixcmp(v, "refs/notes/"))
+ if (starts_with(v, "refs/notes/"))
string_list_add_refs_by_glob(c->refs, v);
else
warning(_("Refusing to rewrite notes in %s"