Message ID | pull.1456.v2.git.1673356521.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Documentation: updates and a correction around 'ORIG_HEAD' | expand |
Hi Philippe On 10/01/2023 13:15, Philippe Blain via GitGitGadget wrote: > * 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 > 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> > >
Phillip Wood <phillip.wood123@gmail.com> writes: > Hi Philippe > > On 10/01/2023 13:15, Philippe Blain via GitGitGadget wrote: >> * 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. Thanks for reviewing, and thanks for writing, the patch. Let's queue and merge it to 'next'.
* 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). 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>