# HG changeset patch # User Matt Harbison # Date 1418517410 18000 # Node ID d0546e8e1def5710c4029761a60cfaef07a7ad62 # Parent 597b071a0e0d0c87de294b3c5b7bfea06e627cd4 subrepo: drop the 'ui' parameter to removefiles() This no longer needs to be explicitly passed because the subrepo object tracks the 'ui' reference since fcbc66b5da6a. See the change to 'archive' for details about the differences between the output level in the root repo and subrepo 'ui' object. The only use for 'ui' in remove is to emit status and warning messages, and to check the verbose flag prior to printing files to be removed. The bad() method on the matcher still uses the root repo's ui, because narrowing the matcher doesn't change the ui object. The local repo's ui was already being used to print a warning message in wctx.forget() and for 'ui.slash' when walking dirstate in the repo.status() call. diff -r 597b071a0e0d -r d0546e8e1def mercurial/cmdutil.py --- a/mercurial/cmdutil.py Sat Dec 13 19:23:30 2014 -0500 +++ b/mercurial/cmdutil.py Sat Dec 13 19:36:50 2014 -0500 @@ -2075,8 +2075,7 @@ sub = wctx.sub(subpath) try: submatch = matchmod.narrowmatcher(subpath, m) - if sub.removefiles(ui, submatch, prefix, after, force, - subrepos): + if sub.removefiles(submatch, prefix, after, force, subrepos): ret = 1 except error.LookupError: ui.status(_("skipping missing subrepository: %s\n") diff -r 597b071a0e0d -r d0546e8e1def mercurial/subrepo.py --- a/mercurial/subrepo.py Sat Dec 13 19:23:30 2014 -0500 +++ b/mercurial/subrepo.py Sat Dec 13 19:36:50 2014 -0500 @@ -499,7 +499,7 @@ def forget(self, match, prefix): return ([], []) - def removefiles(self, ui, matcher, prefix, after, force, subrepos): + def removefiles(self, matcher, prefix, after, force, subrepos): """remove the matched files from the subrepository and the filesystem, possibly by force and/or after the file has been removed from the filesystem. Return 0 on success, 1 on any warning. @@ -855,8 +855,8 @@ os.path.join(prefix, self._path), True) @annotatesubrepoerror - def removefiles(self, ui, matcher, prefix, after, force, subrepos): - return cmdutil.remove(ui, self._repo, matcher, + def removefiles(self, matcher, prefix, after, force, subrepos): + return cmdutil.remove(self.ui, self._repo, matcher, os.path.join(prefix, self._path), after, force, subrepos)