Subject: [BUG?] "format-patch --range-diff=$commit HEAD^ HEAD" fails

From: Junio C Hamano <[email-masked]>
Date: Fri, 19 Apr 2024 10:17:18 -0700

Immediately after "git commit --amend" of a single commit,
this fails:

    $ git format-patch --range-diff=@{1} -v2 HEAD^ HEAD
    fatal: --range-diff requires --cover-letter or single patch

The intent is very clear.  I know it is a single-patch topic, and I
want to show what I changed with "commit --amend" as a reference to
the previous version.  These, on the other hand, that specify the
range of commits to be emitted correctly recognises that we are
talking about a single patch and does not fail.

    $ git format-patch --range-diff=@{1} -v2 HEAD^
    $ git format-patch --range-diff=@{1} -v2 -1

It seems to me that the traditional "format-patch <since> <until>"
notation, which is understood by everywhere else in format-patch, is
not correctly understood by the code for "--range-diff" to make this
complaint, to recognise that the given range has only a single commit.