Get the patch name from the description
[stgit] / stgit / commands / common.py
index 9b97eb6..836884c 100644 (file)
@@ -194,6 +194,21 @@ def push_patches(patches, check_merged = False):
             else:
                 print 'done'
 
+def pop_patches(patches):
+    """Pop the patches in the list from the stack. It is assumed that
+    the patches are listed in the stack reverse order.
+    """
+    p = patches[-1]
+    if len(patches) == 1:
+        print 'Popping patch "%s"...' % p,
+    else:
+        print 'Popping "%s" - "%s" patches...' % (patches[0], p),
+    sys.stdout.flush()
+
+    crt_series.pop_patch(p)
+
+    print 'done'
+
 def name_email(address):
     """Return a tuple consisting of the name and email parsed from a
     standard 'name <email>' or 'email (name)' string
@@ -218,3 +233,13 @@ def name_email_date(address):
         raise CmdException, 'Incorrect "name <email> date" string: %s' % address
 
     return str_list[0]
+
+def make_patch_name(msg):
+    """Return a string to be used as a patch name. This is generated
+    from the top line of the string passed as argument.
+    """
+    if not msg:
+        return None
+
+    subject_line = msg.lstrip().split('\n', 1)[0]
+    return re.sub('[\W]+', '-', subject_line).strip('-')