Subject: Re: [PATCH v1] rebase -m: Use empty tree base for parentless commits

From: Junio C Hamano <[email-masked]>
Date: Thu, 09 Oct 2014 13:18:42 -0700

Fabian Ruch <[email-masked]> writes:

>> The interface to "git-merge-$strategy" is designed in such a way
>> that each strategy should be capable of taking _no_ base at all.
>
> The merge strategies "resolve" and "octopus" seem to refuse to run if no
> base is specified. The former silently exits if no bases are given and
> the latter dies saying "Unable to find common commit".

That just means these two strategies are not prepared to do a merge
without base (yet).  It does not automatically give license to the
caller to pass a random tree as if it is the merge base the user
wanted to use.

For "resolve", I think it is OK for it to detect that the caller did
not give a common ancestor tree and use an empty tree when merging
(which is what merge-recursive ends up doing internally).

I am not offhand sure if the same is sensible for "octopus", though.