X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/ceba3178f434c2a1fc4c839459efe15b9953fe7c..681f805ef4688c7ea450f5e72a15dad818809734:/stgit/commands/common.py diff --git a/stgit/commands/common.py b/stgit/commands/common.py index 723fc5b..432edce 100644 --- a/stgit/commands/common.py +++ b/stgit/commands/common.py @@ -109,7 +109,7 @@ def git_id(rev): def check_local_changes(): if git.local_changes(): raise CmdException, \ - 'local changes in the tree. Use "refresh" to commit them' + 'local changes in the tree. Use "refresh" or "status --reset"' def check_head_top_equal(): if not crt_series.head_top_equal(): @@ -120,7 +120,9 @@ def check_head_top_equal(): def check_conflicts(): if os.path.exists(os.path.join(basedir.get(), 'conflicts')): - raise CmdException, 'Unsolved conflicts. Please resolve them first' + raise CmdException, \ + 'Unsolved conflicts. Please resolve them first or\n' \ + ' revert the changes with "status --reset"' def print_crt_patch(branch = None): if not branch: @@ -214,7 +216,7 @@ def pop_patches(patches, keep = False): print 'done' -def parse_patches(patch_args, patch_list, boundary = 0): +def parse_patches(patch_args, patch_list, boundary = 0, ordered = False): """Parse patch_args list for patch names in patch_list and return a list. The names can be individual patches and/or in the patch1..patch2 format. @@ -271,6 +273,9 @@ def parse_patches(patch_args, patch_list, boundary = 0): patches += pl + if ordered: + patches = [p for p in patch_list if p in patches] + return patches def name_email(address): @@ -298,6 +303,25 @@ def name_email_date(address): return str_list[0] +def address_or_alias(addr_str): + """Return the address if it contains an e-mail address or look up + the aliases in the config files. + """ + def __address_or_alias(addr): + if addr.find('@') >= 0: + # it's an e-mail address + return addr + alias = config.get('mail.alias.'+addr) + if alias: + # it's an alias + return alias + + raise CmdException, 'unknown e-mail alias: %s' % addr + + addr_list = [__address_or_alias(addr.strip()) + for addr in addr_str.split(',')] + return ', '.join(addr_list) + def patch_name_from_msg(msg): """Return a string to be used as a patch name. This is generated from the first 30 characters of the top line of the string passed