comparison mercurial/cmdutil.py @ 16070:f11eee00c652 stable

forget: show warning messages for forgetting in subrepo correctly in 'cmdutil.forget()': for f in match.files(): if match.exact(f) or not explicitonly: .... is equal to: for f in match.files(): if True: .... because 'f' from 'match.files()' should 'match.exact(f)': - 'match.files()' returns 'self._files' - 'match.exact(f)' examines 'f in self._fmap', - 'self._fmap' of match is 'set(self._files)' then, 'explicitonly' wants to suppress warning messges, if it is true (= 'cmdutil.forget()' is invoked from 'subrepo.forget()'). so, current code should be fixed as: if not explicitonly: for f in match.files(): ....
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Mon, 06 Feb 2012 14:37:49 +0900
parents 2bd54ffaa27e
children f7e0d95d0a0b
comparison
equal deleted inserted replaced
16069:f680ed10e2c4 16070:f11eee00c652
1222 forgot.extend([subpath + '/' + f for f in subforgot]) 1222 forgot.extend([subpath + '/' + f for f in subforgot])
1223 except error.LookupError: 1223 except error.LookupError:
1224 ui.status(_("skipping missing subrepository: %s\n") 1224 ui.status(_("skipping missing subrepository: %s\n")
1225 % join(subpath)) 1225 % join(subpath))
1226 1226
1227 for f in match.files(): 1227 if not explicitonly:
1228 if match.exact(f) or not explicitonly: 1228 for f in match.files():
1229 if f not in repo.dirstate and not os.path.isdir(match.rel(join(f))): 1229 if f not in repo.dirstate and not os.path.isdir(match.rel(join(f))):
1230 if f not in forgot: 1230 if f not in forgot:
1231 if os.path.exists(match.rel(join(f))): 1231 if os.path.exists(match.rel(join(f))):
1232 ui.warn(_('not removing %s: ' 1232 ui.warn(_('not removing %s: '
1233 'file is already untracked\n') 1233 'file is already untracked\n')