diff options
author | Denton Liu <liu.denton@gmail.com> | 2019-04-27 14:02:22 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-07 06:23:13 +0200 |
commit | e3d6539d58238f046ff955330f6e10c447150164 (patch) | |
tree | a80e3a6d2e4814bf8b750edc027a05ed90d1e15e /Documentation/git-branch.txt | |
parent | t2018: cleanup in current test (diff) | |
download | git-e3d6539d58238f046ff955330f6e10c447150164.tar.xz git-e3d6539d58238f046ff955330f6e10c447150164.zip |
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>
Diffstat (limited to 'Documentation/git-branch.txt')
-rw-r--r-- | Documentation/git-branch.txt | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 3bd83a7cbd..8719e4cab9 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -45,7 +45,11 @@ argument is missing it defaults to `HEAD` (i.e. the tip of the current branch). The command's second form creates a new branch head named <branchname> -which points to the current `HEAD`, or <start-point> if given. +which points to the current `HEAD`, or <start-point> if given. As a +special case, for <start-point>, you may use `"A...B"` as a shortcut for +the merge base of `A` and `B` if there is exactly one merge base. You +can leave out at most one of `A` and `B`, in which case it defaults to +`HEAD`. Note that this will create the new branch, but it will not switch the working tree to it; use "git checkout <newbranch>" to switch to the |