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
diff --git a/subcmds/forall.py b/subcmds/forall.py
index ebc8bec..3ddc3c3 100644
--- a/subcmds/forall.py
+++ b/subcmds/forall.py
@@ -151,11 +151,15 @@
attributes that we need.
"""
+ if not self.manifest.IsMirror:
+ lrev = project.GetRevisionId()
+ else:
+ lrev = None
return {
'name': project.name,
'relpath': project.relpath,
'remote_name': project.remote.name,
- 'lrev': project.GetRevisionId(),
+ 'lrev': lrev,
'rrev': project.revisionExpr,
'annotations': dict((a.name, a.value) for a in project.annotations),
'gitdir': project.gitdir,