From f97e72e5ddfcd34400aba384775b793170044f5c Mon Sep 17 00:00:00 2001 From: Xin Li Date: Fri, 24 Jun 2016 12:17:14 -0700 Subject: [PATCH] Bail out when manifest is referencing a bad SHA-1 revision. BUG: Issue 222 Change-Id: Ie0a64b39922d6fdf1be2989eb514985be8490278 --- gitc_utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gitc_utils.py b/gitc_utils.py index a388dc27..7a35e7a0 100644 --- a/gitc_utils.py +++ b/gitc_utils.py @@ -24,6 +24,8 @@ import git_command import git_config import wrapper +from error import ManifestParseError + NUM_BATCH_RETRIEVE_REVISIONID = 300 def get_gitc_manifest_dir(): @@ -54,7 +56,11 @@ def _set_project_revisions(projects): 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