##// 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:

r38359:9abe91a5 default
r38817:bb54db4a @96 default
Show More
test-duplicateoptions.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
from __future__ import absolute_import, print_function
import os
from mercurial import (
commands,
extensions,
ui as uimod,
)
ignore = {b'highlight', b'win32text', b'factotum', b'beautifygraph'}
if os.name != 'nt':
ignore.add(b'win32mbcs')
disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore]
hgrc = open(os.environ["HGRCPATH"], 'wb')
hgrc.write(b'[extensions]\n')
for ext in disabled:
hgrc.write(ext + b'=\n')
hgrc.close()
u = uimod.ui.load()
extensions.loadall(u)
globalshort = set()
globallong = set()
for option in commands.globalopts:
option[0] and globalshort.add(option[0])
option[1] and globallong.add(option[1])
for cmd, entry in commands.table.items():
seenshort = globalshort.copy()
seenlong = globallong.copy()
for option in entry[1]:
if (option[0] and option[0] in seenshort) or \
(option[1] and option[1] in seenlong):
print("command '" + cmd + "' has duplicate option " + str(option))
seenshort.add(option[0])
seenlong.add(option[1])