Accept tags in HEAD or MERGE_HEAD
HEAD and MERGE_HEAD (among other branch tips) should never hold a
tag. That can only be caused by broken tools and is cumbersome to fix
by an end user with:
$ git update-ref HEAD $(git rev-parse HEAD^{commit})
which may look like a magic to a new person.
Be easy, warn users (so broken tools can be fixed if they bother to
report) and move on.
Be robust, if the given SHA-1 cannot be resolved to a commit object,
die (therefore return value is always valid).
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
894642f68d
commit
baf18fc261
@ -1036,11 +1036,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
branch += 11;
|
||||
if (!branch || is_null_sha1(head_sha1))
|
||||
head_commit = NULL;
|
||||
else {
|
||||
head_commit = lookup_commit(head_sha1);
|
||||
if (!head_commit)
|
||||
die(_("could not parse HEAD"));
|
||||
}
|
||||
else
|
||||
head_commit = lookup_commit_or_die(head_sha1, "HEAD");
|
||||
|
||||
git_config(git_merge_config, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user