evolve: pop up editor if conflicts occur while merging commit messages
Last patch added support for merging commit messages while resolving content
divergence. In case of conflicts we fallback to one of the divergent commit
messages.
After this patch, we will pop up an editor where user has to resolve the
conflicts in the commit messages and then continue.
Tests are added for this. We need to fix handling in test-sharing.t to use
HGEDITOR to fix conflicts and pass the new commit message.
Future improvement can be that we should respect HGMERGE while merging commit
descriptions too.
import sys
formatted_args = []
UNSAFE_CHARACTERS = [" ", "!", "\"", "#", "$", "&", "'", "(", ")", "*", ",", ";", "<", ">", "?", "[", "\\", "]", "^", "`", "{", "|", "}", ":", "~", "/"]
def find_unsafe(arg):
for unsafe in UNSAFE_CHARACTERS:
if unsafe in arg:
return True
return False
for arg in sys.argv[1:]:
if find_unsafe(arg):
formatted_args.append('"%s"' % arg)
else:
formatted_args.append(arg)
print("$ " + " ".join(formatted_args))