From 688a0a751e9ee032be9fb70d7d63220bc85acae1 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Tue, 27 Feb 2024 01:16:09 -0800 Subject: commit: avoid redundant scissor line with --cleanup=scissors -v `git commit --cleanup=scissors -v` prints two scissors lines: one at the start of the comment lines, and the other right before the diff. This is redundant, and pushes the diff further down in the user's editor than it needs to be. Make wt_status_add_cut_line() remember if it has added a cut line before, and avoid adding a redundant one. Add a test for this. Signed-off-by: Josh Triplett Signed-off-by: Junio C Hamano --- builtin/commit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'builtin/commit.c') diff --git a/builtin/commit.c b/builtin/commit.c index 65196a2827..7860af552e 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -926,7 +926,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix, if (whence != FROM_COMMIT) { if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS && !merge_contains_scissors) - wt_status_add_cut_line(s->fp); + wt_status_add_cut_line(s); status_printf_ln( s, GIT_COLOR_NORMAL, whence == FROM_MERGE ? @@ -947,7 +947,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix, status_printf(s, GIT_COLOR_NORMAL, hint_cleanup_all, comment_line_char); else if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS) { if (whence == FROM_COMMIT && !merge_contains_scissors) - wt_status_add_cut_line(s->fp); + wt_status_add_cut_line(s); } else /* COMMIT_MSG_CLEANUP_SPACE, that is. */ status_printf(s, GIT_COLOR_NORMAL, hint_cleanup_space, comment_line_char); -- cgit v1.2.3