##// END OF EJS Templates
resolve: add option to warn/abort on -m with unresolved conflict markers...
resolve: add option to warn/abort on -m with unresolved conflict markers When a user is dropped out of Mercurial to a terminal to resolve files, we emit messages like: conflicts while merging file1! (edit, then use 'hg resolve --mark') conflicts while merging file2! (edit, then use 'hg resolve --mark') We don't mention a file name in the hint, so some users might do something like `$EDITOR file1; hg resolve --mark`, see that it says "(no more unresolved files)" and forget to deal with file2 before running the next command. Even if we did mention a file name in the hint, it's too easy to forget it (maybe the merge spans a couple days or something). This option lets us inform the user that they might have missed something. In the scenario above, the output would be something like: warning: the following files still have conflict markers: file2 (no more unresolved files) Differential Revision: https://phab.mercurial-scm.org/D4035

File last commit:

r37137:d4a2e0d5 default
r38817:bb54db4a @96 default
Show More
test-config-env.py
54 lines | 1.3 KiB | text/x-python | PythonLexer
# Test the config layer generated by environment variables
from __future__ import absolute_import, print_function
import os
from mercurial import (
encoding,
rcutil,
ui as uimod,
util,
)
from mercurial.utils import (
procutil,
)
testtmp = encoding.environ[b'TESTTMP']
# prepare hgrc files
def join(name):
return os.path.join(testtmp, name)
with open(join(b'sysrc'), 'wb') as f:
f.write(b'[ui]\neditor=e0\n[pager]\npager=p0\n')
with open(join(b'userrc'), 'wb') as f:
f.write(b'[ui]\neditor=e1')
# replace rcpath functions so they point to the files above
def systemrcpath():
return [join(b'sysrc')]
def userrcpath():
return [join(b'userrc')]
rcutil.systemrcpath = systemrcpath
rcutil.userrcpath = userrcpath
os.path.isdir = lambda x: False # hack: do not load default.d/*.rc
# utility to print configs
def printconfigs(env):
encoding.environ = env
rcutil._rccomponents = None # reset cache
ui = uimod.ui.load()
for section, name, value in ui.walkconfig():
source = ui.configsource(section, name)
procutil.stdout.write(b'%s.%s=%s # %s\n'
% (section, name, value, util.pconvert(source)))
procutil.stdout.write(b'\n')
# environment variable overrides
printconfigs({})
printconfigs({b'EDITOR': b'e2', b'PAGER': b'p2'})