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():
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:
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.
patches += pl
+ if ordered:
+ patches = [p for p in patch_list if p in patches]
+
return patches
def name_email(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