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

Re: [PATCH v2 0/5] Documentation: updates and a correction around 'ORIG_HEAD'

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Jan 10, 2023, 20:06 UTC
Message-ID
<ba20039c-19a3-96da-c938-89af67bca791@dunelm.org.uk>
In-Reply-To
<pull.1456.v2.git.1673356521.gitgitgadget@gmail.com>
Hi Philippe
On 10/01/2023 13:15, Philippe Blain via GitGitGadget wrote:
Show 13 quoted lines
>   * added a link to the mailing list thread in the commit message of 5/5.
> 
> v1: Documentation: updates and a correction around 'ORIG_HEAD'
> 
> This series' initial motivation was to clear up a confusion that arose in
> [1] where it was noticed that 'ORIG_HEAD' is not guaranteed to point to the
> original branch tip at the end of the rebase if 'git reset' is used during
> the rebase.
> 
> Patch 5/5 adds a note to 'git rebase's documentation to make that explicit.
> When taking a look at the existing documentation mentioning 'ORIG_HEAD', I
> also found an error in an example (patch 1/5), other small inconsistencies
> (patch 2-3/5), and a potential improvement (patch 4/5).

Thanks for doing this, I think the adding a note to the rebase documentation is a good idea given the confusion that's been reported. The patches all look great to me apart from patch 4 where I share Junio's concerns about the readability and maintenance burden of the list of commands. I was surprised to learn that merge also sets ORIG_HEAD, thanks for being so thorough.

Best Wishes
Phillip
Show 50 quoted lines
> Cheers,
> 
> Philippe.
> 
> [1]
> https://lore.kernel.org/git/1b2b8e98-5506-a1e6-6059-a967757b3bb8@gmail.com/T/#m827179c5adcfb504d67f76d03c8e6942b55e5ed0
> 
> Philippe Blain (5):
>    git-cherry-pick.txt: do not use 'ORIG_HEAD' in example
>    git-reset.txt: mention 'ORIG_HEAD' in the Description
>    git-merge.txt: mention 'ORIG_HEAD' in the Description
>    revisions.txt: be explicit about commands writing 'ORIG_HEAD'
>    git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten
> 
>   Documentation/git-cherry-pick.txt | 2 +-
>   Documentation/git-merge.txt       | 3 ++-
>   Documentation/git-rebase.txt      | 7 +++++++
>   Documentation/git-reset.txt       | 3 ++-
>   Documentation/revisions.txt       | 3 ++-
>   5 files changed, 14 insertions(+), 4 deletions(-)
> 
> 
> base-commit: 4dbebc36b0893f5094668ddea077d0e235560b16
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1456%2Fphil-blain%2Fdoc-orig-head-v2
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1456/phil-blain/doc-orig-head-v2
> Pull-Request: https://github.com/gitgitgadget/git/pull/1456
> 
> Range-diff vs v1:
> 
>   1:  74b2d5a9144 = 1:  74b2d5a9144 git-cherry-pick.txt: do not use 'ORIG_HEAD' in example
>   2:  f25c71fd4c3 = 2:  f25c71fd4c3 git-reset.txt: mention 'ORIG_HEAD' in the Description
>   3:  e488ad3ce1d = 3:  e488ad3ce1d git-merge.txt: mention 'ORIG_HEAD' in the Description
>   4:  302b789a486 = 4:  302b789a486 revisions.txt: be explicit about commands writing 'ORIG_HEAD'
>   5:  9ef427a9a2a ! 5:  7eed8f35376 git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten
>       @@ Commit message
>        
>            Indeed, using other commands that write 'ORIG_HEAD' during the rebase,
>            like splitting a commit using 'git reset HEAD^', will lead to 'ORIG_HEAD'
>       -    being overwritten.
>       +    being overwritten. This causes confusion for some users [1].
>        
>            Add a note about that in the 'Description' section, and mention the more
>            robust alternative of using the branch's reflog.
>        
>       +    [1] https://lore.kernel.org/git/28ebf03b-e8bb-3769-556b-c9db17e43dbb@gmail.com/T/#m827179c5adcfb504d67f76d03c8e6942b55e5ed0
>       +
>            Reported-by: Erik Cervin Edin <erik@cervined.in>
>            Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
>        
> 
Previous: Philippe Blain via GitGitGadgetNext: Junio C Hamano
Message 19 of 20 in “Documentation: updates and a correction around 'ORIG_HEAD'”
  1. 0/5 Documentation: updates and a correction around 'ORIG_HEAD'Philippe Blain via GitGitGadget, Jan 7, 2023
  2. 1/5 git-cherry-pick.txt: do not use 'ORIG_HEAD' in examplePhilippe Blain via GitGitGadget, Jan 7, 2023
  3. Junio C HamanoJan 8, 2023
  4. Philippe BlainJan 9, 2023
  5. 2/5 git-reset.txt: mention 'ORIG_HEAD' in the DescriptionPhilippe Blain via GitGitGadget, Jan 7, 2023
  6. 3/5 git-merge.txt: mention 'ORIG_HEAD' in the DescriptionPhilippe Blain via GitGitGadget, Jan 7, 2023
  7. 4/5 revisions.txt: be explicit about commands writing 'ORIG_HEAD'Philippe Blain via GitGitGadget, Jan 7, 2023
  8. Junio C HamanoJan 8, 2023
  9. Philippe BlainJan 9, 2023
  10. 5/5 git-rebase.txt: add a note about 'ORIG_HEAD' being overwrittenPhilippe Blain via GitGitGadget, Jan 7, 2023
  11. Junio C HamanoJan 8, 2023
  12. Philippe BlainJan 9, 2023
  13. 0/5 Documentation: updates and a correction around 'ORIG_HEAD'Philippe Blain via GitGitGadget, Jan 10, 2023
  14. 1/5 git-cherry-pick.txt: do not use 'ORIG_HEAD' in examplePhilippe Blain via GitGitGadget, Jan 10, 2023
  15. 2/5 git-reset.txt: mention 'ORIG_HEAD' in the DescriptionPhilippe Blain via GitGitGadget, Jan 10, 2023
  16. 3/5 git-merge.txt: mention 'ORIG_HEAD' in the DescriptionPhilippe Blain via GitGitGadget, Jan 10, 2023
  17. 4/5 revisions.txt: be explicit about commands writing 'ORIG_HEAD'Philippe Blain via GitGitGadget, Jan 10, 2023
  18. 5/5 git-rebase.txt: add a note about 'ORIG_HEAD' being overwrittenPhilippe Blain via GitGitGadget, Jan 10, 2023
  19. Phillip WoodJan 10, 2023
  20. Junio C HamanoJan 13, 2023

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.