Arya Irani [off-list ref] writes:
If the default start-point for a branch is HEAD, then how can it fail
due to ambiguity?
The whole create_branch() codepath is a mess and needs to be cleaned
up, but in the shorter term, something like this, perhaps?
builtin/branch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/branch.c b/builtin/branch.c
index d8cccf7..02d0653 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -807,7 +807,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
} else if (argc > 0 && argc <= 2) {
if (kinds != REF_LOCAL_BRANCH)
die(_("-a and -r options to 'git branch' do not make sense with a branch name"));
- create_branch(head, argv[0], (argc == 2) ? argv[1] : head,
+ create_branch(head, argv[0], (argc == 2) ? argv[1] : "HEAD",
force_create, reflog, 0, track);
} else
usage_with_options(builtin_branch_usage, options);