Просмотр исходного кода

Bail out when manifest is referencing a bad SHA-1 revision.

BUG: Issue 222
Change-Id: Ie0a64b39922d6fdf1be2989eb514985be8490278
Xin Li 9 лет назад
Родитель
Сommit
f97e72e5dd
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      gitc_utils.py

+ 7 - 1
gitc_utils.py

@@ -24,6 +24,8 @@ import git_command
 import git_config
 import git_config
 import wrapper
 import wrapper
 
 
+from error import ManifestParseError
+
 NUM_BATCH_RETRIEVE_REVISIONID = 300
 NUM_BATCH_RETRIEVE_REVISIONID = 300
 
 
 def get_gitc_manifest_dir():
 def get_gitc_manifest_dir():
@@ -54,7 +56,11 @@ def _set_project_revisions(projects):
     if gitcmd.Wait():
     if gitcmd.Wait():
       print('FATAL: Failed to retrieve revisionExpr for %s' % proj)
       print('FATAL: Failed to retrieve revisionExpr for %s' % proj)
       sys.exit(1)
       sys.exit(1)
-    proj.revisionExpr = gitcmd.stdout.split('\t')[0]
+    revisionExpr = gitcmd.stdout.split('\t')[0]
+    if not revisionExpr:
+      raise(ManifestParseError('Invalid SHA-1 revision project %s (%s)' %
+                               (proj.remote.url, proj.revisionExpr)))
+    proj.revisionExpr = revisionExpr
 
 
 def _manifest_groups(manifest):
 def _manifest_groups(manifest):
   """Returns the manifest group string that should be synced
   """Returns the manifest group string that should be synced