Thread (3 messages) 3 messages, 2 authors, 2023-10-21

Re: [RESEND] git-rebase.txt: rewrite docu for fixup/squash (again)

From: Marc Branchaud <hidden>
Date: 2023-10-20 21:40:11

On 2023-10-20 05:27, Oswald Buddenhagen wrote:
Create a clear top-down structure which makes it hopefully unambiguous
what happens when.

Also mention the timestamp along with the author - this is primarily
meant to include the keywords somebody might be searching for, like I
did a year ago.

Signed-off-by: Oswald Buddenhagen <redacted>
I think this is a definite improvement to the text.  Thanks for working 
on this!  I do have a few suggestions, below.
quoted hunk ↗ jump to hunk
---
Cc: Junio C Hamano <redacted>
Cc: Phillip Wood <redacted>
Cc: Christian Couder <redacted>
Cc: Charvi Mendiratta <redacted>
Cc: Marc Branchaud <redacted>
---
  Documentation/git-rebase.txt | 29 +++++++++++++++--------------
  1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index e7b39ad244..857e025361 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -890,20 +890,21 @@ command "pick" with the command "reword".
  To drop a commit, replace the command "pick" with "drop", or just
  delete the matching line.
  
-If you want to fold two or more commits into one, replace the command
-"pick" for the second and subsequent commits with "squash" or "fixup".
-If the commits had different authors, the folded commit will be
-attributed to the author of the first commit.  The suggested commit
-message for the folded commit is the concatenation of the first
-commit's message with those identified by "squash" commands, omitting the
-messages of commits identified by "fixup" commands, unless "fixup -c"
-is used.  In that case the suggested commit message is only the message
-of the "fixup -c" commit, and an editor is opened allowing you to edit
-the message.  The contents (patch) of the "fixup -c" commit are still
-incorporated into the folded commit. If there is more than one "fixup -c"
-commit, the message from the final one is used.  You can also use
-"fixup -C" to get the same behavior as "fixup -c" except without opening
-an editor.
+If you want to fold two or more commits into one (that is, to combine
+their contents/patches), replace the command "pick" for the second and
+subsequent commits with "squash" or "fixup".
+The commit message for the folded commit is the concatenation of the
+first commit's message with those identified by "squash" commands,
I think the original text's "those identified by" is a bit vague: Does 
"those" mean "messages" or "commits"?  The sentence reads like "those" 
stands for "messages", but then of course you don't identify *messages* 
with "squash" commands.

Maybe
	those from commits identified by
?
+omitting the messages of commits identified by "fixup" commands, unless
+"fixup -c" is used.  In the latter case, the message is obtained only
+from the "fixup -c" commit
I think it's worth emphasizing that "fixup -c" also drops the message 
from the initial "pick" commit as well as all the "squash" commits (I 
presume that's the case, I haven't tried it [1]).

Maybe emphasize the word "only" in the sentence (i.e. spell it as 
'only').  To really drive the point home it could say something like
	obtained 'only' from the "fixup -c" commit, dropping the
	messages of all the other involved commits
(having more than one "fixup -c" commit
+makes no sense, and only the message from the last one is used).
"Makes no sense" seems a bit opinionated (although I agree with the 
sentiment).  Also, you can legitimately have more than one "fixup -c" in 
the overall instruction set, as long as there's at least one "pick" 
command in between, e.g.
	pick 1111beef
	fixup 2222f00d
	fixup -c 3333ab1e
	pick 4444d00d
	fixup 5555feed
	fixup -c 6666dead

How about
	(if more than one "fixup -c" command appears in a sequence
	of "fixup" and "squash" commands, only the message from
	the last "fixup -c" commit is used)

Thanks,

		M.

[1] Makes me wonder if rebase should also support "squash -c"...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help