Add a boundary to parse_patches in pick.py
[stgit] / stgit / commands / commit.py
index ec3de72..e56f5a0 100644 (file)
@@ -20,6 +20,7 @@ from optparse import OptionParser, make_option
 
 from stgit.commands.common import *
 from stgit.utils import *
+from stgit.out import *
 from stgit import stack, git
 
 help = 'permanently store the applied patches into stack base'
@@ -31,6 +32,7 @@ remove them from the series while advancing the base.
 Use this command only if you want to permanently store the applied
 patches and no longer manage them with StGIT."""
 
+directory = DirectoryGotoToplevel()
 options = []
 
 
@@ -43,15 +45,18 @@ def func(parser, options, args):
 
     check_local_changes()
     check_conflicts()
-    check_head_top_equal()
+    check_head_top_equal(crt_series)
 
     applied = crt_series.get_applied()
     if not applied:
         raise CmdException, 'No patches applied'
 
+    if crt_series.get_protected():
+        raise CmdException, 'This branch is protected.  Commit is not permitted'
+
     crt_head = git.get_head()
 
-    print 'Committing %d patches...' % len(applied),
+    out.start('Committing %d patches' % len(applied))
 
     crt_series.pop_patch(applied[0])
     git.switch(crt_head)
@@ -59,4 +64,4 @@ def func(parser, options, args):
     for patch in applied:
         crt_series.delete_patch(patch)
 
-    print 'done'
+    out.done()