Mercurial > hg
changeset 41651:b2df5dc3ebfb
remove: pass around uipathfn and use instead of m.rel() (API)
Same as previous commit, but now for remove.
Differential Revision: https://phab.mercurial-scm.org/D5902
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 07 Feb 2019 23:19:33 -0800 |
parents | f8b18583049f |
children | 6a447a3d1bd0 |
files | hgext/largefiles/overrides.py mercurial/cmdutil.py mercurial/commands.py mercurial/subrepo.py |
diffstat | 4 files changed, 21 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Thu Feb 07 11:15:30 2019 -0800 +++ b/hgext/largefiles/overrides.py Thu Feb 07 23:19:33 2019 -0800 @@ -249,11 +249,11 @@ return bad @eh.wrapfunction(cmdutil, 'remove') -def cmdutilremove(orig, ui, repo, matcher, prefix, after, force, subrepos, - dryrun): +def cmdutilremove(orig, ui, repo, matcher, prefix, uipathfn, after, force, + subrepos, dryrun): normalmatcher = composenormalfilematcher(matcher, repo[None].manifest()) - result = orig(ui, repo, normalmatcher, prefix, after, force, subrepos, - dryrun) + result = orig(ui, repo, normalmatcher, prefix, uipathfn, after, force, + subrepos, dryrun) return removelargefiles(ui, repo, False, matcher, dryrun, after=after, force=force) or result
--- a/mercurial/cmdutil.py Thu Feb 07 11:15:30 2019 -0800 +++ b/mercurial/cmdutil.py Thu Feb 07 23:19:33 2019 -0800 @@ -2192,7 +2192,8 @@ return ret -def remove(ui, repo, m, prefix, after, force, subrepos, dryrun, warnings=None): +def remove(ui, repo, m, prefix, uipathfn, after, force, subrepos, dryrun, + warnings=None): ret = 0 s = repo.status(match=m, clean=True) modified, added, deleted, clean = s[0], s[1], s[3], s[6] @@ -2211,16 +2212,17 @@ for subpath in subs: submatch = matchmod.subdirmatcher(subpath, m) subprefix = repo.wvfs.reljoin(prefix, subpath) + subuipathfn = scmutil.subdiruipathfn(subpath, uipathfn) if subrepos or m.exact(subpath) or any(submatch.files()): progress.increment() sub = wctx.sub(subpath) try: - if sub.removefiles(submatch, subprefix, after, force, subrepos, - dryrun, warnings): + if sub.removefiles(submatch, subprefix, subuipathfn, after, + force, subrepos, dryrun, warnings): ret = 1 except error.LookupError: warnings.append(_("skipping missing subrepository: %s\n") - % m.rel(subpath)) + % uipathfn(subpath)) progress.complete() # warn about failure to delete explicit files/dirs @@ -2244,10 +2246,10 @@ if repo.wvfs.exists(f): if repo.wvfs.isdir(f): warnings.append(_('not removing %s: no tracked files\n') - % m.rel(f)) + % uipathfn(f)) else: warnings.append(_('not removing %s: file is untracked\n') - % m.rel(f)) + % uipathfn(f)) # missing files will generate a warning elsewhere ret = 1 progress.complete() @@ -2263,7 +2265,7 @@ progress.increment() if ui.verbose or (f in files): warnings.append(_('not removing %s: file still exists\n') - % m.rel(f)) + % uipathfn(f)) ret = 1 progress.complete() else: @@ -2274,12 +2276,12 @@ for f in modified: progress.increment() warnings.append(_('not removing %s: file is modified (use -f' - ' to force removal)\n') % m.rel(f)) + ' to force removal)\n') % uipathfn(f)) ret = 1 for f in added: progress.increment() warnings.append(_("not removing %s: file has been marked for add" - " (use 'hg forget' to undo add)\n") % m.rel(f)) + " (use 'hg forget' to undo add)\n") % uipathfn(f)) ret = 1 progress.complete() @@ -2289,7 +2291,7 @@ for f in list: if ui.verbose or not m.exact(f): progress.increment() - ui.status(_('removing %s\n') % m.rel(f), + ui.status(_('removing %s\n') % uipathfn(f), label='ui.addremove.removed') progress.complete()
--- a/mercurial/commands.py Thu Feb 07 11:15:30 2019 -0800 +++ b/mercurial/commands.py Thu Feb 07 23:19:33 2019 -0800 @@ -4717,7 +4717,8 @@ m = scmutil.match(repo[None], pats, opts) subrepos = opts.get('subrepos') - return cmdutil.remove(ui, repo, m, "", after, force, subrepos, + uipathfn = scmutil.getuipathfn(repo, forcerelativevalue=True) + return cmdutil.remove(ui, repo, m, "", uipathfn, after, force, subrepos, dryrun=dryrun) @command('rename|move|mv',
--- a/mercurial/subrepo.py Thu Feb 07 11:15:30 2019 -0800 +++ b/mercurial/subrepo.py Thu Feb 07 23:19:33 2019 -0800 @@ -358,7 +358,7 @@ def forget(self, match, prefix, dryrun, interactive): return ([], []) - def removefiles(self, matcher, prefix, after, force, subrepos, + def removefiles(self, matcher, prefix, uipathfn, after, force, subrepos, dryrun, warnings): """remove the matched files from the subrepository and the filesystem, possibly by force and/or after the file has been removed from the @@ -841,9 +841,9 @@ True, dryrun=dryrun, interactive=interactive) @annotatesubrepoerror - def removefiles(self, matcher, prefix, after, force, subrepos, + def removefiles(self, matcher, prefix, uipathfn, after, force, subrepos, dryrun, warnings): - return cmdutil.remove(self.ui, self._repo, matcher, prefix, + return cmdutil.remove(self.ui, self._repo, matcher, prefix, uipathfn, after, force, subrepos, dryrun) @annotatesubrepoerror