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

Re: [PATCH 1/2] doc: fixup/squash: clarify use of <oid-hash> in subject line

From
Junio C Hamano <gitster@pobox.com>
Date
May 27, 2020, 17:35 UTC
Message-ID
<xmqqmu5tl1qa.fsf@gitster.c.googlers.com>
In-Reply-To
<20200525213632.1626-2-philipoakley@iee.email>
Philip Oakley <philipoakley@iee.email> writes:
> The use of ellision `...` isn't great, as it gives no hint or clue,
> leaving the subsequent test with a difficult explanation.

True. If you are planning to correct it in 2/2, then I think it makes more sense to squash that in to have a single patch.

> Clarify if a full oid has is required, or a unique abbreviation within
> the respository, or just uniques within the rebase instruction?

Puzzled. You must know the answer to "do we need a full object name, or is it sufficient to have anything that gives us a unique commit object name?" so why not write it in the patch instead of asking the question here? Or do you not know the answer and this is a RFC/WIP patch????

> This is a minimal change that sidesteps the chance to rewrite/clarify
> the potential wider confusions over specifying the <commit> being
> referred to in the fixup/squash process.

Hmph. So this step cannot be reviewed to judge if it is a good change by itself?

Let me locally recreate a squashed single patch and review _that_ instead.

Show 27 quoted lines
>  Documentation/git-rebase.txt | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 4624cfd288..462cb4c52c 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -571,16 +571,18 @@ See also INCOMPATIBLE OPTIONS below.
>  
>  --autosquash::
>  --no-autosquash::
> -	When the commit log message begins with "squash! ..." (or
> -	"fixup! ..."), and there is already a commit in the todo list that
> -	matches the same `...`, automatically modify the todo list of rebase
> +	When the commit log message begins with "squash! <line>" (or
> +	"fixup! <line>"), and there is already a commit in the todo list that
> +	matches the same `<line>`, automatically modify the todo list of rebase
>  	-i so that the commit marked for squashing comes right after the
>  	commit to be modified, and change the action of the moved commit
> +	from `pick` to `squash` (or `fixup`).
> ++
> +A commit matches the `<line>` if
> +the commit subject matches, or if the `<line>` refers to the commit's
> +hash. As a fall-back, partial matches of the commit subject work,
> +too.  The recommended way to create fixup/squash commits is by using
> +the `--fixup`/`--squash` options of linkgit:git-commit[1].
>  +
Overall it looks much better than the original.

The original did not even attempt to define what is a "match" for the purpose of this option, so the ellipses may have been OK, but once we need to refer to what is there, we need a name to refer to it and ellipses no longer are sufficient, and using the step 1/2 alone would not make any sense. We definitely should take the step 2/2 together with it.

"A commit matches the <line> if the commit subject matches" is not a great definition of what a "match" is, though. The readers are left in the same darkness about what constitutes a "match" of <line> against "the commit subject". If you define this "subject matches" as a substring match, for example, you do not even have to say "as a fall-back"---it is by (the updated version of your) definition that how the commit subject and <line> matches so there is no need to allow any fall-back involved.

Previous: Philip OakleyNext: Philip Oakley
Message 22 of 23 in “rebase --autosquash: fix a potential segfault”
  1. rebase --autosquash: fix a potential segfaultJohannes Schindelin via GitGitGadget, May 4, 2020
  2. Junio C HamanoMay 4, 2020
  3. Jeff KingMay 4, 2020
  4. Taylor BlauMay 4, 2020
  5. Junio C HamanoMay 5, 2020
  6. Johannes SchindelinMay 6, 2020
  7. Jeff KingMay 7, 2020
  8. Johannes SchindelinMay 8, 2020
  9. rebase --autosquash: fix a potential segfaultJohannes Schindelin via GitGitGadget, May 5, 2020
  10. rebase --autosquash: fix a potential segfaultJohannes Schindelin via GitGitGadget, May 9, 2020
  11. Andrei RybakMay 6, 2020
  12. Johannes SchindelinMay 7, 2020
  13. Philip OakleyMay 8, 2020
  14. Andrei RybakMay 8, 2020
  15. Philip OakleyMay 8, 2020
  16. Philip OakleyMay 18, 2020
  17. Johannes SchindelinMay 18, 2020
  18. Philip OakleyMay 25, 2020
  19. 0/2 Clarify some of the fixup! documenationPhilip Oakley, May 25, 2020
  20. 2/2 doc: fixup/squash: remove ellipsis marks, use <line> for clarifyPhilip Oakley, May 25, 2020
  21. 1/2 doc: fixup/squash: clarify use of <oid-hash> in subject linePhilip Oakley, May 25, 2020
  22. Junio C HamanoMay 27, 2020
  23. Philip OakleyMay 29, 2020

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.