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