docs/tutorial/testlib/arguments_printer.py
author Sushil khanchi <sushilkhanchi97@gmail.com>
Tue, 02 Oct 2018 12:55:29 +0530
changeset 4155 cc3a0b13ae57
parent 3376 aad37ffd7d58
permissions -rw-r--r--
evolve: use stack alias s# in `hg evolve` msgs As repository grows revision number lose their usefulness. To make it a little better than now, after this patch we will be using short stack aliases introduced by the topic extension (as displayed by `hg stack`). These stack aliases s# will be used only when user has enabled topic extension and his repo's current active topic is same as the revs to be evolved. For now, this patch doesn't cover `continue` case. I will discuss about this with Pierre-Yves David. Maybe we have to store the info in evolvestate that "we were using stack aliases".

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))