From 559b846b17a5b720c1247d07e292150466f27f96 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 2 Mar 2009 12:56:08 -0800 Subject: Report better errors when a project revision is invalid If a manifest specifies an invalid revision property, give the user a better error message detaling the problem, instead of an ugly Python traceback with a strange Git error message. Bug: REPO-2 Signed-off-by: Shawn O. Pearce --- project.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'project.py') diff --git a/project.py b/project.py index 4780316c..8cdb8b19 100644 --- a/project.py +++ b/project.py @@ -25,6 +25,7 @@ from color import Coloring from git_command import GitCommand from git_config import GitConfig, IsId from error import GitError, ImportError, UploadError +from error import ManifestInvalidRevisionError from remote import Remote HEAD = 'HEAD' @@ -582,6 +583,12 @@ class Project(object): rem = self.GetRemote(self.remote.name) rev = rem.ToLocal(self.revision) + try: + self.bare_git.rev_parse('--verify', '%s^0' % rev) + except GitError: + raise ManifestInvalidRevisionError( + 'revision %s in %s not found' % (self.revision, self.name)) + branch = self.CurrentBranch if branch is None: -- cgit v1.2.3-54-g00ecf