Check if SHA1 presents in repository

Previously repo had incorrect code that did not really check
if sha1 presents in a project. It worked for tags though.

Check if a revision (either tag or sha1) is present by using
'git rev_parse' functionality.

Change-Id: I1787f3348573948573948753987394839487572b
This commit is contained in:
Anatol Pomazau 2012-03-29 18:06:43 -07:00
parent 5acde75e5d
commit b962a1f5e0

View File

@ -1396,9 +1396,11 @@ class Project(object):
if is_sha1 or tag_name is not None: if is_sha1 or tag_name is not None:
try: try:
self.GetRevisionId() # if revision (sha or tag) is not present then following function
# throws an error.
self.bare_git.rev_parse('--verify', '%s^0' % self.revisionExpr)
return True return True
except ManifestInvalidRevisionError: except GitError:
# There is no such persistent revision. We have to fetch it. # There is no such persistent revision. We have to fetch it.
pass pass