# HG changeset patch # User Martin von Zweigbergk # Date 2019-02-07 18:01:55 # Node ID 5ee3c49fc9cdd74a6aa0281b71cf997fdb9a3eff # Parent ed046348675cdcbbea8a396f708c367a929ce6a4 subrepo: adjust subrepo prefix before calling subrepo.addremove() (API) Differential Revision: https://phab.mercurial-scm.org/D5885 diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -1047,8 +1047,9 @@ def addremove(repo, matcher, prefix, opt submatch = matchmod.subdirmatcher(subpath, m) if opts.get('subrepos') or m.exact(subpath) or any(submatch.files()): sub = wctx.sub(subpath) + subprefix = repo.wvfs.reljoin(prefix, subpath) try: - if sub.addremove(submatch, prefix, opts): + if sub.addremove(submatch, subprefix, opts): ret = 1 except error.LookupError: repo.ui.status(_("skipping missing subrepository: %s\n") diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -527,8 +527,7 @@ class hgsubrepo(abstractsubrepo): # be used to process sibling subrepos however. opts = copy.copy(opts) opts['subrepos'] = True - return scmutil.addremove(self._repo, m, - self.wvfs.reljoin(prefix, self._path), opts) + return scmutil.addremove(self._repo, m, prefix, opts) @annotatesubrepoerror def cat(self, match, fm, fntemplate, prefix, **opts):