aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-resolve-script4
-rw-r--r--sha1_name.c10
2 files changed, 5 insertions, 9 deletions
diff --git a/git-resolve-script b/git-resolve-script
index 52dd83bae..4641119e0 100755
--- a/git-resolve-script
+++ b/git-resolve-script
@@ -6,8 +6,8 @@
#
. git-sh-setup-script || die "Not a git archive"
-head=$(git-rev-parse --verify "$1")
-merge=$(git-rev-parse --verify "$2")
+head=$(git-rev-parse --verify "$1"^0) || exit
+merge=$(git-rev-parse --verify "$2"^0) || exit
merge_msg="$3"
dropheads() {
diff --git a/sha1_name.c b/sha1_name.c
index 5d1e441e5..df45b172a 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -208,13 +208,9 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1)
} else
parent = -1;
- if (0 <= parent) {
- ret = get_parent(name, len, sha1, parent);
- if (!ret)
- return 0;
- else if(parent>0)
- return ret;
- }
+ if (parent >= 0)
+ return get_parent(name, len, sha1, parent);
+
ret = get_sha1_basic(name, len, sha1);
if (!ret)
return 0;