[PATCH] Show patch content in description edit buffer
[stgit] / stgit / commands / new.py
index c36e109..c968eaf 100644 (file)
@@ -25,13 +25,23 @@ from stgit import stack, git
 
 
 help = 'create a new patch and make it the topmost one'
-usage = '%prog [options] <name>'
+usage = """%prog [options] <name>
+
+Create a new, empty patch and make it the topmost one. If the
+'--message' option is not passed, an editor is invoked with the
+.git/patchdescr.tmpl file used a as template, together with generated
+lines. By default, if there are local changes in the working tree, the
+command fails and a 'refresh' command is needed. This behaviour can be
+overridden with the '--force' option."""
 
 options = [make_option('-m', '--message',
                        help = 'use MESSAGE as the patch description'),
            make_option('--force',
                        help = 'proceed even if there are local changes',
                        action = 'store_true'),
+           make_option('-s', '--showpatch',
+                       help = 'show the patch content in the editor buffer',
+                       action = 'store_true'),
            make_option('-a', '--author', metavar = '"NAME <EMAIL>"',
                        help = 'use "NAME <EMAIL>" as the author details'),
            make_option('--authname',
@@ -56,11 +66,14 @@ def func(parser, options, args):
         check_local_changes()
         check_conflicts()
         check_head_top_equal()
+        # No local changes -> no patch to show
+        options.showpatch = False
 
     if options.author:
         options.authname, options.authemail = name_email(options.author)
 
     crt_series.new_patch(args[0], message = options.message,
+                         show_patch = options.showpatch,
                          author_name = options.authname,
                          author_email = options.authemail,
                          author_date = options.authdate,