Bail out when manifest is referencing a bad SHA-1 revision.
BUG: Issue 222
Change-Id: Ie0a64b39922d6fdf1be2989eb514985be8490278
diff --git a/gitc_utils.py b/gitc_utils.py
index a388dc2..7a35e7a 100644
--- a/gitc_utils.py
+++ b/gitc_utils.py
@@ -24,6 +24,8 @@
import git_config
import wrapper
+from error import ManifestParseError
+
NUM_BATCH_RETRIEVE_REVISIONID = 300
def get_gitc_manifest_dir():
@@ -54,7 +56,11 @@
if gitcmd.Wait():
print('FATAL: Failed to retrieve revisionExpr for %s' % proj)
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):
"""Returns the manifest group string that should be synced