Skip to content

Commit 80a1466

Browse files
jherlandgitster
authored andcommitted
finish_copy_notes_for_rewrite(): Let caller provide commit message
When copying notes for a rewritten object, the resulting notes commit would have the following hardcoded commit message: Notes added by 'git notes copy' This is obviously bogus when the notes rewriting is performed by 'git commit --amend'. Therefore, let the caller specify an appropriate notes commit message instead of hardcoding it. The above message is used for 'git notes copy', but when calling finish_copy_notes_for_rewrite() from builtin/commit.c, we use the following message instead: Notes added by 'git commit --amend' Cc: Thomas Rast <[email protected]> Signed-off-by: Johan Herland <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent edca415 commit 80a1466

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

builtin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ struct notes_rewrite_cfg {
3636
struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd);
3737
int copy_note_for_rewrite(struct notes_rewrite_cfg *c,
3838
const unsigned char *from_obj, const unsigned char *to_obj);
39-
void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c);
39+
void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c, const char *msg);
4040

4141
extern int textconv_object(const char *path, unsigned mode, const unsigned char *sha1, int sha1_valid, char **buf, unsigned long *buf_size);
4242

builtin/commit.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1591,7 +1591,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
15911591
if (cfg) {
15921592
/* we are amending, so current_head is not NULL */
15931593
copy_note_for_rewrite(cfg, current_head->object.sha1, sha1);
1594-
finish_copy_notes_for_rewrite(cfg);
1594+
finish_copy_notes_for_rewrite(cfg, "Notes added by 'git commit --amend'");
15951595
}
15961596
run_rewrite_hook(current_head->object.sha1, sha1);
15971597
}

builtin/notes.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -403,11 +403,11 @@ int copy_note_for_rewrite(struct notes_rewrite_cfg *c,
403403
return ret;
404404
}
405405

406-
void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c)
406+
void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c, const char *msg)
407407
{
408408
int i;
409409
for (i = 0; c->trees[i]; i++) {
410-
commit_notes(c->trees[i], "Notes added by 'git notes copy'");
410+
commit_notes(c->trees[i], msg);
411411
free_notes(c->trees[i]);
412412
}
413413
free(c->trees);
@@ -420,6 +420,7 @@ static int notes_copy_from_stdin(int force, const char *rewrite_cmd)
420420
struct notes_rewrite_cfg *c = NULL;
421421
struct notes_tree *t = NULL;
422422
int ret = 0;
423+
const char *msg = "Notes added by 'git notes copy'";
423424

424425
if (rewrite_cmd) {
425426
c = init_copy_notes_for_rewrite(rewrite_cmd);
@@ -461,10 +462,10 @@ static int notes_copy_from_stdin(int force, const char *rewrite_cmd)
461462
}
462463

463464
if (!rewrite_cmd) {
464-
commit_notes(t, "Notes added by 'git notes copy'");
465+
commit_notes(t, msg);
465466
free_notes(t);
466467
} else {
467-
finish_copy_notes_for_rewrite(c);
468+
finish_copy_notes_for_rewrite(c, msg);
468469
}
469470
return ret;
470471
}

0 commit comments

Comments
 (0)