# HG changeset patch # User Matt Harbison # Date 2014-12-14 00:23:30 # Node ID 597b071a0e0d0c87de294b3c5b7bfea06e627cd4 # Parent 70a7478c33de6be5564303a00a28171c241c890b subrepo: drop the 'ui' parameter to forget() 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 forget is to emit status and warning messages, and to check the verbose flag prior to printing files to be forgotten. 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 --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -2028,7 +2028,7 @@ def forget(ui, repo, match, prefix, expl sub = wctx.sub(subpath) try: submatch = matchmod.narrowmatcher(subpath, match) - subbad, subforgot = sub.forget(ui, submatch, prefix) + subbad, subforgot = sub.forget(submatch, prefix) bad.extend([subpath + '/' + f for f in subbad]) forgot.extend([subpath + '/' + f for f in subforgot]) except error.LookupError: diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -496,7 +496,7 @@ class abstractsubrepo(object): ''' pass - def forget(self, ui, match, prefix): + def forget(self, match, prefix): return ([], []) def removefiles(self, ui, matcher, prefix, after, force, subrepos): @@ -850,8 +850,8 @@ class hgsubrepo(abstractsubrepo): return ctx.walk(match) @annotatesubrepoerror - def forget(self, ui, match, prefix): - return cmdutil.forget(ui, self._repo, match, + def forget(self, match, prefix): + return cmdutil.forget(self.ui, self._repo, match, os.path.join(prefix, self._path), True) @annotatesubrepoerror