diff -r 53f42c8d5f71 -r 8ab91d9290ce mercurial/manifest.py --- a/mercurial/manifest.py Thu Feb 11 15:38:56 2016 -0800 +++ b/mercurial/manifest.py Sun Feb 07 21:14:01 2016 -0800 @@ -520,6 +520,15 @@ self._node = node self._dirty = False + def iterentries(self): + self._load() + for p, n in sorted(self._dirs.items() + self._files.items()): + if p in self._files: + yield self._subpath(p), n, self._flags.get(p, '') + else: + for x in n.iterentries(): + yield x + def iteritems(self): self._load() for p, n in sorted(self._dirs.items() + self._files.items()):