forall: Don't try to get lrev of projects in mirror workspace

git rev-parse fails for projects that don't have an explicit revision
specified, and don't have a branch of the same name as the default
revision. This can be the case in a workspace synced with the smart
sync (-s) or smart tag (-t) option.

Change-Id: I19bfe9fe7396170379415d85f10f6440dc6ea08f
This commit is contained in:
David Pursehouse 2015-05-07 15:01:15 +09:00
parent 727cc3e324
commit 30d13eea86

View File

@ -151,11 +151,15 @@ without iterating through the remaining projects.
attributes that we need. attributes that we need.
""" """
if not self.manifest.IsMirror:
lrev = project.GetRevisionId()
else:
lrev = None
return { return {
'name': project.name, 'name': project.name,
'relpath': project.relpath, 'relpath': project.relpath,
'remote_name': project.remote.name, 'remote_name': project.remote.name,
'lrev': project.GetRevisionId(), 'lrev': lrev,
'rrev': project.revisionExpr, 'rrev': project.revisionExpr,
'annotations': dict((a.name, a.value) for a in project.annotations), 'annotations': dict((a.name, a.value) for a in project.annotations),
'gitdir': project.gitdir, 'gitdir': project.gitdir,