Index: scm.py |
diff --git a/scm.py b/scm.py |
index eb5c52403c3e2595d14b133a7d0d00e289811d10..d60453dceff9c1e1362d0be94e368e2112619663 100644 |
--- a/scm.py |
+++ b/scm.py |
@@ -491,12 +491,15 @@ class GIT(object): |
sha = GIT.Capture(['rev-parse', lookup_rev], cwd=cwd).lower() |
if lookup_rev != rev: |
# Make sure we get the original 40 chars back. |
- return rev.lower() == sha |
+ if rev.lower() != sha: |
+ return False |
if sha_only: |
- return sha.startswith(rev.lower()) |
- return True |
+ if not sha.startswith(rev.lower()): |
+ return False |
except subprocess2.CalledProcessError: |
return False |
+ obj_type = GIT.Capture(['cat-file', '-t', rev], cwd=cwd).strip() |
+ return obj_type == 'commit' |
@classmethod |
def AssertVersion(cls, min_version): |