Am 13.08.24 um 11:06 schrieb Oswald Buddenhagen: > This is also known as "washing". This is consistent with the behavior of > interactive git commit, which we should emulate as closely as possible > to avoid usability problems. This way commit message templates and > prepare hooks can be used properly, and comments from conflicted rebases > and merges are cleaned up without having to introduce special handling > for them. > > Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@xxxxxx> > > --- > > Cc: Johannes Sixt <j6t@xxxxxxxx> > Cc: Brian Lyles <brianmlyles@xxxxxxxxx> > Cc: Junio C Hamano <gitster@xxxxxxxxx> > Cc: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> > Cc: Sean Allred <allred.sean@xxxxxxxxx> > --- > git-gui/lib/commit.tcl | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl > index 11379f8ad3..f00a634624 100644 > --- a/git-gui/lib/commit.tcl > +++ b/git-gui/lib/commit.tcl > @@ -209,6 +209,10 @@ You must stage at least 1 file before you can commit. > # > set msg [string trim [$ui_comm get 1.0 end]] > regsub -all -line {[ \t\r]+$} $msg {} msg > + # Strip comment lines > + regsub -all {(^|\n)#[^\n]*} $msg {\1} msg > + # Compress consecutive empty lines > + regsub -all {\n{3,}} $msg "\n\n" msg > if {$msg eq {}} { > error_popup [mc "Please supply a commit message. > I'm still not convinced that it is appropriate to silently edit a message entered by the user. Nevertheless, I will pick up this series for these reasons: Firstly, during an interactive rebase Git GUI has no way to inform the user that the commit message is a union of messages of squash- and fixup-commits except by presenting the comments that git-rebase inserted in the commit message. Stripping these comments before the user can see them would be a disservice. Consequently, they should be helped in the way that this patch does. Secondly, there is already precedent in b9a43869c9f9 ("git-gui: remove lines starting with the comment character", 2021-02-03), which invoked git-stripspace. This commit was reverted later by c0698df0579a for technical reasons (incompatibilities with macOS). So it seems that a majority thinks this is the right way to go forward. Further work would be welcome, though. The comment character can be configured and should not be hard-coded. The commit cited above shows how it can be implemented. Three more instances of `$ui_comm get` exist, which trim whitespace in various ways. Each should be inspected whether it still does the right thing. All of these can be follow-up patchs, of course. -- Hannes