diff --git a/hgext/narrow/narrowrevlog.py b/hgext/narrow/narrowrevlog.py --- a/hgext/narrow/narrowrevlog.py +++ b/hgext/narrow/narrowrevlog.py @@ -117,8 +117,6 @@ # at least some push operations. This will be used to wrap/exclude the # child directories when using treemanifests. def dirlog(self, d): - if d and not d.endswith('/'): - d = d + '/' if not repo.narrowmatch().visitdir(d[:-1] or '.'): return excludedmanifestrevlog(d) result = super(narrowmanifestrevlog, self).dirlog(d) diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1058,6 +1058,8 @@ if 'treemanifest' not in repo.requirements: raise error.Abort(_("--dir can only be used on repos with " "treemanifest enabled")) + if not dir.endswith('/'): + dir = dir + '/' dirlog = repo.manifestlog._revlog.dirlog(dir) if len(dirlog): r = dirlog diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -1160,8 +1160,6 @@ if dir: assert self._treeondisk, 'opts is %r' % opts - if not dir.endswith('/'): - dir = dir + '/' if indexfile is None: indexfile = '00manifest.i'