git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 1/2] commit: don't add scissors line if one exists in MERGE_MSG

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 17, 2018, 08:06 UTC
Message-ID
<xmqq36s0i0vg.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<1698fe0d7b7356ea1762f410767dcaf2807ea5c2.1542380865.git.liu.denton@gmail.com>
Denton Liu <liu.denton@gmail.com> writes:
> If commit.cleanup = scissors is specified, don't produce a scissors line
> if one already exists in the MERGE_MSG file.

Are we already sometimes adding a scissors line in that file? The impression I was getting was that the change in the step 2/2 is the only reason why this becomes necessary. In which case this change makes no sense as a standalone patch and requires 2/2 to be a sensible change, no?

Show 10 quoted lines
> @@ -798,7 +807,8 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
>  		struct ident_split ci, ai;
>  
>  		if (whence != FROM_COMMIT) {
> -			if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS)
> +			if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS &&
> +				!merge_contains_scissors)
>  				wt_status_add_cut_line(s->fp);
>  			status_printf_ln(s, GIT_COLOR_NORMAL,
>  			    whence == FROM_MERGE
This one is done before we show a block of text, which looks correct.
Show 10 quoted lines
> @@ -824,7 +834,8 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
>  				  " Lines starting\nwith '%c' will be ignored, and an empty"
>  				  " message aborts the commit.\n"), comment_line_char);
>  		else if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS &&
> -			 whence == FROM_COMMIT)
> +			 whence == FROM_COMMIT &&
> +			 !merge_contains_scissors)
>  			wt_status_add_cut_line(s->fp);
>  		else /* COMMIT_MSG_CLEANUP_SPACE, that is. */
>  			status_printf(s, GIT_COLOR_NORMAL,

The correctness of this one in an if/elseif/else cascade is less clear. When "contains scissors" logic does not kick in, we just have a scissors line here (i.e. the original behaviour). Now when the new logic kicks in, we not just omit the (extra) scissors line, but also say "Please enter the commit message..." which is the message used with the "comment line char" mode of the clean-up.

I wonder if this is what you really meant to have instead:
Show 9 quoted lines
>  		else if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS &&
> -			 whence == FROM_COMMIT)
> - 			wt_status_add_cut_line(s->fp);
> +			 whence == FROM_COMMIT) {
> +			 if (!merge_contains_scissors)
> +				wt_status_add_cut_line(s->fp);
> +		}
>  		else /* COMMIT_MSG_CLEANUP_SPACE, that is. */
>  			status_printf(s, GIT_COLOR_NORMAL,

That is, the only behaviour change in "merge contains scissors" mode is to omit the cut line and nothing else.

Previous: Denton Liu
Message 105 of 105 in “Fix scissors bug during merge conflict”
  1. 0/2 Fix scissors bug during merge conflictDenton Liu, Nov 14, 2018
  2. 1/2 commit: don't add scissors line if one existsDenton Liu, Nov 14, 2018
  3. Junio C HamanoNov 14, 2018
  4. Denton LiuNov 14, 2018
  5. Junio C HamanoNov 16, 2018
  6. 2/2 merge: add scissors line on merge conflictDenton Liu, Nov 14, 2018
  7. Junio C HamanoNov 14, 2018
  8. Denton LiuNov 14, 2018
  9. 0/2 Fix scissors bug during merge conflictDenton Liu, Nov 16, 2018
  10. 2/2 merge: add scissors line on merge conflictDenton Liu, Nov 16, 2018
  11. 0/1 Fix scissors bug during merge conflictDenton Liu, Nov 17, 2018
  12. 1/1 merge: add scissors line on merge conflictDenton Liu, Nov 17, 2018
  13. SZEDER GáborNov 18, 2018
  14. Junio C HamanoNov 18, 2018
  15. 0/2 Fix scissors bug during merge conflictDenton Liu, Nov 21, 2018
  16. 1/2 t7600: clean up 'merge --squash c3 with c7' testDenton Liu, Nov 21, 2018
  17. 2/2 merge: add scissors line on merge conflictDenton Liu, Nov 21, 2018
  18. Junio C HamanoNov 21, 2018
  19. Denton LiuNov 22, 2018
  20. Junio C HamanoNov 24, 2018
  21. 0/4 Add git-merge --cleanup supportDenton Liu, Dec 25, 2018
  22. 1/4 commit: extract cleanup_mode functions to sequencerDenton Liu, Dec 25, 2018
  23. 2/4 t7600: clean up 'merge --squash c3 with c7' testDenton Liu, Dec 25, 2018
  24. 3/4 merge: cleanup messages like commitDenton Liu, Dec 25, 2018
  25. 4/4 merge: add scissors line on merge conflictDenton Liu, Dec 25, 2018
  26. 0/4 Add git-merge --cleanup supportDenton Liu, Jan 23, 2019
  27. 1/4 commit: extract cleanup_mode functions to sequencerDenton Liu, Jan 23, 2019
  28. 2/4 t7600: clean up 'merge --squash c3 with c7' testDenton Liu, Jan 23, 2019
  29. 3/4 merge: cleanup messages like commitDenton Liu, Jan 23, 2019
  30. 4/4 merge: add scissors line on merge conflictDenton Liu, Jan 23, 2019
  31. 0/8 Fix scissors bug during conflictDenton Liu, Mar 11, 2019
  32. 1/8 t7600: clean up 'merge --squash c3 with c7' testDenton Liu, Mar 11, 2019
  33. Junio C HamanoMar 12, 2019
  34. 2/8 t3507: cleanup space after redirection operatorsDenton Liu, Mar 11, 2019
  35. 3/8 commit: extract cleanup_mode functions to sequencerDenton Liu, Mar 11, 2019
  36. 4/8 sequencer.c: remove duplicate codeDenton Liu, Mar 11, 2019
  37. Phillip WoodMar 11, 2019
  38. 5/8 merge: cleanup messages like commitDenton Liu, Mar 11, 2019
  39. Eric SunshineMar 11, 2019
  40. Phillip WoodMar 11, 2019
  41. Eric SunshineMar 11, 2019
  42. Phillip WoodMar 11, 2019
  43. Junio C HamanoMar 12, 2019
  44. 6/8 merge: add scissors line on merge conflictDenton Liu, Mar 11, 2019
  45. Eric SunshineMar 11, 2019
  46. 7/8 sequencer.c: define get_config_from_cleanupDenton Liu, Mar 11, 2019
  47. Eric SunshineMar 11, 2019
  48. Junio C HamanoMar 12, 2019
  49. 8/8 cherry-pick/revert: add scissors line on merge conflictDenton Liu, Mar 11, 2019
  50. Phillip WoodMar 12, 2019
  51. Junio C HamanoMar 11, 2019
  52. 00/11 Fix scissors bug during conflictDenton Liu, Mar 17, 2019
  53. 01/11 t7600: clean up styleDenton Liu, Mar 17, 2019
  54. 02/11 t3507: cleanup space after redirection operatorsDenton Liu, Mar 17, 2019
  55. 03/11 t7604: refactor out Git commands upstream of pipeDenton Liu, Mar 17, 2019
  56. 04/11 t7502: clean up test styleDenton Liu, Mar 17, 2019
  57. 05/11 commit: extract cleanup_mode functions to sequencerDenton Liu, Mar 17, 2019
  58. 06/11 parse-options.h: extract common --cleanup optionDenton Liu, Mar 17, 2019
  59. 07/11 sequencer.c: remove duplicate codeDenton Liu, Mar 17, 2019
  60. 08/11 merge: cleanup messages like commitDenton Liu, Mar 17, 2019
  61. Phillip WoodMar 19, 2019
  62. Denton LiuMar 20, 2019
  63. 09/11 merge: add scissors line on merge conflictDenton Liu, Mar 17, 2019
  64. 10/11 sequencer.c: define describe_cleanup_modeDenton Liu, Mar 17, 2019
  65. Eric SunshineMar 18, 2019
  66. Denton LiuMar 18, 2019
  67. Eric SunshineMar 18, 2019
  68. Ramsay JonesMar 19, 2019
  69. 11/11 cherry-pick/revert: add scissors line on merge conflictDenton Liu, Mar 17, 2019
  70. SZEDER GáborMar 17, 2019
  71. Denton LiuMar 18, 2019
  72. Junio C HamanoMar 18, 2019
  73. Denton LiuMar 18, 2019
  74. Junio C HamanoMar 18, 2019
  75. 00/11 Fix scissors bug during conflictDenton Liu, Mar 21, 2019
  76. 01/11 t7600: clean up styleDenton Liu, Mar 21, 2019
  77. 02/11 t3507: clean up styleDenton Liu, Mar 21, 2019
  78. 03/11 t7604: clean up styleDenton Liu, Mar 21, 2019
  79. 04/11 t7502: clean up styleDenton Liu, Mar 21, 2019
  80. 05/11 commit: extract cleanup_mode functions to sequencerDenton Liu, Mar 21, 2019
  81. 06/11 parse-options.h: extract common --cleanup optionDenton Liu, Mar 21, 2019
  82. 07/11 sequencer.c: remove duplicate codeDenton Liu, Mar 21, 2019
  83. Phillip WoodMar 26, 2019
  84. 08/11 merge: cleanup messages like commitDenton Liu, Mar 21, 2019
  85. 09/11 merge: add scissors line on merge conflictDenton Liu, Mar 21, 2019
  86. 10/11 sequencer.c: define describe_cleanup_modeDenton Liu, Mar 21, 2019
  87. 11/11 cherry-pick/revert: add scissors line on merge conflictDenton Liu, Mar 21, 2019
  88. 00/10 Fix scissors bug during conflictPhillip Wood, Apr 17, 2019
  89. 01/10 t7600: clean up stylePhillip Wood, Apr 17, 2019
  90. 04/10 t7502: clean up stylePhillip Wood, Apr 17, 2019
  91. 03/10 t7604: clean up stylePhillip Wood, Apr 17, 2019
  92. 02/10 t3507: clean up stylePhillip Wood, Apr 17, 2019
  93. 05/10 commit: extract cleanup_mode functions to sequencerPhillip Wood, Apr 17, 2019
  94. 06/10 parse-options.h: extract common --cleanup optionPhillip Wood, Apr 17, 2019
  95. 07/10 merge: cleanup messages like commitPhillip Wood, Apr 17, 2019
  96. 08/10 merge: add scissors line on merge conflictPhillip Wood, Apr 17, 2019
  97. 09/10 sequencer.c: save and restore cleanup modePhillip Wood, Apr 17, 2019
  98. Denton LiuApr 17, 2019
  99. Phillip WoodApr 17, 2019
  100. Denton LiuApr 18, 2019
  101. 10/10 cherry-pick/revert: add scissors line on merge conflictPhillip Wood, Apr 17, 2019
  102. Junio C HamanoApr 18, 2019
  103. Phillip WoodApr 18, 2019
  104. 1/2 commit: don't add scissors line if one exists in MERGE_MSGDenton Liu, Nov 16, 2018
  105. Junio C HamanoNov 17, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.