summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-10-13 19:03:19 -0700
committerJunio C Hamano <gitster@pobox.com>2011-10-13 19:03:19 -0700
commit0fd8cb3fec7abb36505a150fe5cfa9b1d8b85496 (patch)
treee8ff37c5dce1e0eb7e33da89d487fcb21bbec6c0 /commit.c
parent6fdab32e14e2bca05ae6471502bcdfd35b381564 (diff)
parentbaf18fc261ca475343fe3cb9cd2c0dded4bc1bb7 (diff)
downloadgit-0fd8cb3fec7abb36505a150fe5cfa9b1d8b85496.tar.gz
Merge branch 'nd/maint-autofix-tag-in-head'
* nd/maint-autofix-tag-in-head: Accept tags in HEAD or MERGE_HEAD merge: remove global variable head[] merge: use return value of resolve_ref() to determine if HEAD is invalid merge: keep stash[] a local variable Conflicts: builtin/merge.c
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/commit.c b/commit.c
index 97b43279cd..9f4cc636dd 100644
--- a/commit.c
+++ b/commit.c
@@ -39,6 +39,18 @@ struct commit *lookup_commit_reference(const unsigned char *sha1)
return lookup_commit_reference_gently(sha1, 0);
}
+struct commit *lookup_commit_or_die(const unsigned char *sha1, const char *ref_name)
+{
+ struct commit *c = lookup_commit_reference(sha1);
+ if (!c)
+ die(_("could not parse %s"), ref_name);
+ if (hashcmp(sha1, c->object.sha1)) {
+ warning(_("%s %s is not a commit!"),
+ ref_name, sha1_to_hex(sha1));
+ }
+ return c;
+}
+
struct commit *lookup_commit(const unsigned char *sha1)
{
struct object *obj = lookup_object(sha1);