diff --git a/builtin-push.c b/builtin-push.c
index 41df717f847ecc41bf0a695fa09fbb926b42f720..c8cb63e23840915ecd7445d1fe4a18f9c6cb694d 100644 (file)
--- a/builtin-push.c
+++ b/builtin-push.c
strcat(tag, refs[i]);
ref = tag;
}
+ if (!strcmp("HEAD", ref)) {
+ unsigned char sha1_dummy[20];
+ ref = resolve_ref(ref, sha1_dummy, 1, NULL);
+ if (!ref)
+ die("HEAD cannot be resolved.");
+ if (prefixcmp(ref, "refs/heads/"))
+ die("HEAD cannot be resolved to branch.");
+ ref = xstrdup(ref + 11);
+ }
add_refspec(ref);
}
}