Re: [PATCH v2 0/5] Documentation: updates and a correction around 'ORIG_HEAD'
- From
- Phillip 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> > >