Procházet zdrojové kódy

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
Anatol Pomazau před 14 roky
rodič
revize
b962a1f5e0
1 změnil soubory, kde provedl 4 přidání a 2 odebrání
  1. 4 2
      project.py

+ 4 - 2
project.py

@@ -1396,9 +1396,11 @@ class Project(object):
 
       if is_sha1 or tag_name is not None:
         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
-        except ManifestInvalidRevisionError:
+        except GitError:
           # There is no such persistent revision. We have to fetch it.
           pass