Subject: Re: [PATCH] format-patch: print format-patch usage if there are no arguments

From: Junio C Hamano <[email-masked]>
Date: Tue, 13 Jan 2015 14:28:13 -0800

Stefan Beller <[email-masked]> writes:

> Another idea would be to take the first commit which is pointed to by
> another branch as the first commit in the commit range.

Trying to figure out what happened from the topology of the history
is certainly attractive proposition, but I suspect that it would be
too fragile to be practically useful.  The other topic you may have
based your work on may have advanced independently (e.g. a "oops, I
forgot this one" bugfix), resulting in a fork like this:

 ---o---o---o---o (fixed reflog-expire)
             \
              x---x---x (atomic-push)

and the fork-point is no longer at the tip of anything.  "Excluding
anything that is on another branch" would cover the forked case much
better, but that is only true if there is no integration branch like
'pu' or 'next', in which case, only an early part of atomic-push may
already be part of another branch 'next' while the remainder is not,
or the entirety of atomic-push may be part of another branch 'pu'.

On the other hand, "I am forked from building on this one" done with
"checkout -t" is an explicit mark the user leaves, so it would serve
as a better hint to base the default heuristics on, I think.

But nobody is asking for such a feature ;-)