diff --git a/branch.c b/branch.c
index 56e949232cac1fe9dbe23aa93b50fe2f7c55c07d..6a750574fd376e4d54e4ef2576674d42521f1529 100644 (file)
--- a/branch.c
+++ b/branch.c
die("Cannot setup tracking information; starting point is not a branch.");
break;
case 1:
die("Cannot setup tracking information; starting point is not a branch.");
break;
case 1:
- /* Unique completion -- good */
+ /* Unique completion -- good, only if it is a real ref */
+ if (track == BRANCH_TRACK_EXPLICIT && !strcmp(real_ref, "HEAD"))
+ die("Cannot setup tracking information; starting point is not a branch.");
break;
default:
die("Ambiguous object name: '%s'.", start_name);
break;
default:
die("Ambiguous object name: '%s'.", start_name);
void remove_branch_state(void)
{
unlink(git_path("MERGE_HEAD"));
void remove_branch_state(void)
{
unlink(git_path("MERGE_HEAD"));
- unlink(git_path("rr-cache/MERGE_RR"));
+ unlink(git_path("MERGE_RR"));
unlink(git_path("MERGE_MSG"));
unlink(git_path("SQUASH_MSG"));
}
unlink(git_path("MERGE_MSG"));
unlink(git_path("SQUASH_MSG"));
}