remove: queue warnings until after status messages (
issue5140) (API)
Before this change, warnings were interspersed with (and easily drowned out by)
status messages.
API:
abstractsubrepo.removefiles has an extra argument warnings,
into which callees should append their warnings.
Note: Callees should not assume that there will be items in the list,
today, I'm lazily including any other subrepos warnings, but
that may change.
cmdutil.remove has an extra optional argument warnings,
into which it will place warnings.
If warnings is omitted, warnings will be reported via ui.warn()
as before this change (albeit, after any status messages).
#!/usr/bin/python
from mercurial.ui import ui
from mercurial.localrepo import localrepository
from mercurial.commands import add, commit, status
u = ui()
print '% creating repo'
repo = localrepository(u, '.', create=True)
f = open('test.py', 'w')
try:
f.write('foo\n')
finally:
f.close
print '% add and commit'
add(u, repo, 'test.py')
commit(u, repo, message='*')
status(u, repo, clean=True)
print '% change'
f = open('test.py', 'w')
try:
f.write('bar\n')
finally:
f.close()
# this would return clean instead of changed before the fix
status(u, repo, clean=True, modified=True)