git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[StGit PATCH 1/5] Added --save-template flag to edit command

From
Karl Hasselström <kha@treskal.com>
Date
Dec 14, 2007, 06:25 UTC
Message-ID
<20071214062503.29148.84674.stgit@yoghurt>
In-Reply-To
<20071214062251.29148.86191.stgit@yoghurt>
From: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
 stgit/commands/edit.py |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/stgit/commands/edit.py b/stgit/commands/edit.py
index a4d8f96..ec2c4ae 100644
--- a/stgit/commands/edit.py
+++ b/stgit/commands/edit.py
@@ -72,6 +72,8 @@ options = [make_option('-d', '--diff',
                        help = 'annotate the patch log entry'),
            make_option('-m', '--message',
                        help = 'replace the patch description with MESSAGE'),
+           make_option('--save-template', metavar = 'FILE',
+                       help = 'save the patch to FILE in the format used by -f'),
            make_option('--author', metavar = '"NAME <EMAIL>"',
                        help = 'replae the author details with "NAME <EMAIL>"'),
            make_option('--authname',
@@ -120,8 +122,8 @@ def __update_patch(pname, fname, options):
     else:
         out.done()
 
-def __edit_update_patch(pname, options):
-    """Edit the given patch interactively.
+def __generate_file(pname, fname, options):
+    """Generate a file containing the description to edit
     """
     patch = crt_series.get_patch(pname)
 
@@ -168,15 +170,20 @@ def __edit_update_patch(pname, options):
 
     text = tmpl % tmpl_dict
 
+    # write the file to be edited
+    f = open(fname, 'w+')
+    f.write(text)
+    f.close()
+
+def __edit_update_patch(pname, options):
+    """Edit the given patch interactively.
+    """
     if options.diff:
         fname = '.stgit-edit.diff'
     else:
         fname = '.stgit-edit.txt'
 
-    # write the file to be edited
-    f = open(fname, 'w+')
-    f.write(text)
-    f.close()
+    __generate_file(pname, fname, options)
 
     # invoke the editor
     call_editor(fname)
@@ -233,6 +240,8 @@ def func(parser, options, args):
                                  log = 'edit',
                                  notes = options.annotate)
         out.done()
+    elif options.save_template:
+        __generate_file(pname, options.save_template, options)
     elif options.file:
         __update_patch(pname, options.file, options)
     else:
Previous: Karl HasselströmNext: Karl Hasselström
Message 2 of 8 in “Various odds and ends”
  1. 0/5 Various odds and endsKarl Hasselström, Dec 14, 2007
  2. 1/5 Added --save-template flag to edit commandKarl Hasselström, Dec 14, 2007
  3. 2/5 Treat filename '-' as stdin/stdout in editKarl Hasselström, Dec 14, 2007
  4. 3/5 Let parse_patch take a string instead of a file parameterKarl Hasselström, Dec 14, 2007
  5. 4/5 Make generic --message/--file/--save-template flagsKarl Hasselström, Dec 14, 2007
  6. Karl HasselströmDec 14, 2007
  7. 5/5 Name the exit codes to improve legibilityKarl Hasselström, Dec 14, 2007
  8. Karl HasselströmDec 14, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.