]> git.ipfire.org Git - thirdparty/git.git/commit - branch.c
branch: make create_branch accept a merge base rev
authorDenton Liu <liu.denton@gmail.com>
Sat, 27 Apr 2019 12:02:22 +0000 (05:02 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 May 2019 04:23:13 +0000 (13:23 +0900)
commite3d6539d58238f046ff955330f6e10c447150164
treea80e3a6d2e4814bf8b750edc027a05ed90d1e15e
parent27434bf08c6c7c065e6323e8aa3f285d8f345e83
branch: make create_branch accept a merge base rev

When we ran something like

    $ git checkout -b test master...

it would fail with the message

    fatal: Not a valid object name: 'master...'.

This was caused by the call to `create_branch` where `start_name` is
expected to be a valid rev. However, git-checkout allows the branch to
be a valid _merge base_ rev (i.e. with a "...") so it was possible for
an invalid rev to be passed in.

Make `create_branch` accept a merge base rev so that this case does not
error out.

As a side-effect, teach git-branch how to handle merge base revs as
well.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-branch.txt
Documentation/git-checkout.txt
branch.c
t/t2018-checkout-branch.sh
t/t3200-branch.sh