evolve: store the skippedrevs in evolvestate
While doing `hg evolve`, there are some revs which are skipped as they can't be
evolved. Before this patch, we did not store this information in evolvestate and
neither they were evolved, so `hg evolve --continue` will again try to stabilize
those revisions. As much time as we run `hg evolve --continue`, this will
happen which is not a good behavior.
This patch adds a skippedrevs list to evolvestate where we store such revisions
so that we don't try to stabilize them again.
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))