merge: add scissors line on merge conflict
This fixes a bug where the scissors line is placed after the Conflicts: section, in the case where a merge conflict occurs and commit.cleanup = scissors. Next, if commit.cleanup = scissors is specified, don't produce a scissors line in commit if one already exists in the MERGE_MSG file. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
d540b70c85
commit
1055997e2f
@ -920,6 +920,20 @@ static int suggest_conflicts(void)
|
||||
filename = git_path_merge_msg(the_repository);
|
||||
fp = xfopen(filename, "a");
|
||||
|
||||
/*
|
||||
* We can't use cleanup_mode because if we're not using the editor,
|
||||
* get_cleanup_mode will return COMMIT_MSG_CLEANUP_SPACE instead, even
|
||||
* though the message is meant to be processed later by git-commit.
|
||||
* Thus, we will get the cleanup mode which is returned when we _are_
|
||||
* using an editor.
|
||||
*/
|
||||
if (get_cleanup_mode(cleanup_arg, 1) == COMMIT_MSG_CLEANUP_SCISSORS) {
|
||||
fputc('\n', fp);
|
||||
wt_status_add_cut_line(fp);
|
||||
/* comments out the newline from append_conflicts_hint */
|
||||
fputc(comment_line_char, fp);
|
||||
}
|
||||
|
||||
append_conflicts_hint(&the_index, &msgbuf);
|
||||
fputs(msgbuf.buf, fp);
|
||||
strbuf_release(&msgbuf);
|
||||
|
||||
Reference in New Issue
Block a user