diff --git a/manifest_xml.py b/manifest_xml.py index ea274c76..b7579d5d 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -1940,11 +1940,14 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md fromKeys = sorted(fromProjects.keys()) toKeys = sorted(toProjects.keys()) - diff = {'added': [], 'removed': [], 'changed': [], 'unreachable': []} + diff = {'added': [], 'removed': [], 'missing': [], 'changed': [], 'unreachable': []} for proj in fromKeys: if proj not in toKeys: diff['removed'].append(fromProjects[proj]) + elif not fromProjects[proj].Exists: + diff['missing'].append(toProjects[proj]) + toKeys.remove(proj) else: fromProj = fromProjects[proj] toProj = toProjects[proj] diff --git a/subcmds/diffmanifests.py b/subcmds/diffmanifests.py index 0e5f4108..08196ef9 100644 --- a/subcmds/diffmanifests.py +++ b/subcmds/diffmanifests.py @@ -118,6 +118,16 @@ synced and their revisions won't be found. self.printRevision(project.revisionExpr) self.out.nl() + if diff['missing']: + self.out.nl() + self.printText('missing projects : \n') + self.out.nl() + for project in diff['missing']: + self.printProject('\t%s' % (project.relpath)) + self.printText(' at revision ') + self.printRevision(project.revisionExpr) + self.out.nl() + if diff['changed']: self.out.nl() self.printText('changed projects : \n')