Re: [PATCH] rebase --autosquash: fix a potential segfault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Philip,

On Mon, 18 May 2020, Philip Oakley wrote:

> On 08/05/2020 17:57, Andrei Rybak wrote:
> > On 2020-05-08 18:43, Philip Oakley wrote:
> >> On 07/05/2020 15:27, Johannes Schindelin wrote:
> >> Is this ability to have a commit message `fixup! <commit-hash>` documented?
> >> I've looked a few times in the past and didn't find it. The docs for
> >> `git commit --fixup=` doesn't put the oid in the commit's subject line,
> >> rather it puts the subject of the referent commit after the "fixup! ".
> >>
> >> Searching from a different direction I've just seen it is mentioned in
> >> the v1.7.4 release notes.
> >>
> >> Would a doc fix to clarify this be appropriate or have I missed something?
> >>
> >> Philip
> > Yes, it's documented in description of --autosquash: "A commit matches the `...`
> > if the commit subject matches, or if the `...` refers to the commit's hash."
>
> The docs don't  clarify if a full oid has is required, or a unique
> abbreviation within the repository, or just unique within the rebase
> instruction sheet.

It's even worse: _any_ valid reference will do. As you can see from
https://github.com/git/git/blob/efcab5b7a3d2/sequencer.c#L5359-L5381, the
search goes like this:

  - For the remainder of the `fixup! <remainder>` line:

	1. If it is identical to the oneline of any commit mentioned in a
	   previously-seen `pick` line, pick that as target.

	2. Otherwise, if the remainder can be looked up as a commit
	   (think: `fixup! master~3`) _and_ that commit was mentioned in
	   a previously-seen `pick` line, pick that as target.

	3. If all else fails, and if the remainder is the _start_ of a
	   oneline of a commit previously seen in a `pick` line, pick that
	   as target (if multiple lines match, use the first one).

Do feel free to put that into a native-speaker form of a patch to improve
the documentation.

Ciao,
Dscho

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux