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

[PATCH 9/9] Look for templates in ~/.stgit/templates as well

From
Yann Dirson <ydirson@altern.org>
Date
Apr 16, 2006, 10:52 UTC
Message-ID
<20060416105246.9884.33207.stgit@gandelf.nowhere.earth>
In-Reply-To
<20060416104144.9884.28167.stgit@gandelf.nowhere.earth>

This can be quite useful to avoid adding one's sig again and again to ever covermail, and to use a patchmail template that insert Signed-off-by lines, for those of us who prefer this to adding them to commits.

Also make sure to use os.path.join() instead of hardcoded slashes.
Signed-off-by: Yann Dirson <ydirson@altern.org>
---
 stgit/commands/export.py |    9 ++++++---
 stgit/commands/mail.py   |   18 ++++++++++++------
 2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/stgit/commands/export.py b/stgit/commands/export.py
index e7de902..fbf5690 100644
--- a/stgit/commands/export.py
+++ b/stgit/commands/export.py
@@ -31,8 +31,9 @@ usage = """%prog [options] [<dir>]
 
 Export the applied patches into a given directory (defaults to
 'patches') in a standard unified GNU diff format. A template file
-(defaulting to '.git/patchexport.tmpl or
-/usr/share/stgit/templates/patchexport.tmpl') can be used for the
+(defaulting to '.git/patchexport.tmpl' or
+'~/.stgit/templates/patchexport.tmpl' or
+'/usr/share/stgit/templates/patchexport.tmpl') can be used for the
 patch format. The following variables are supported in the template
 file:
 
@@ -145,8 +146,10 @@ def func(parser, options, args):
         patch_tmpl_list = []
 
     patch_tmpl_list += [os.path.join(basedir.get(), 'patchexport.tmpl'),
+                        os.path.join(os.path.expanduser('~'), '.stgit', 'templates',
+                                     'patchexport.tmpl'),
                         os.path.join(sys.prefix,
-                                     'share/stgit/templates/patchexport.tmpl')]
+                                     'share', 'stgit', 'templates', 'patchexport.tmpl')]
     tmpl = ''
     for patch_tmpl in patch_tmpl_list:
         if os.path.isfile(patch_tmpl):
diff --git a/stgit/commands/mail.py b/stgit/commands/mail.py
index 470cf65..5e01ea1 100644
--- a/stgit/commands/mail.py
+++ b/stgit/commands/mail.py
@@ -30,16 +30,18 @@ usage = """%prog [options] [<patch> [<pa
 Send a patch or a range of patches (defaulting to the applied patches)
 by e-mail using the 'smtpserver' configuration option. The From
 address and the e-mail format are generated from the template file
-passed as argument to '--template' (defaulting to .git/patchmail.tmpl
-or /usr/share/stgit/templates/patchmail.tmpl). The To/Cc/Bcc addresses
+passed as argument to '--template' (defaulting to
+'.git/patchmail.tmpl' or '~/.stgit/templates/patchmail.tmpl' or or
+'/usr/share/stgit/templates/patchmail.tmpl'). The To/Cc/Bcc addresses
 can either be added to the template file or passed via the
 corresponding command line options.
 
 A preamble e-mail can be sent using the '--cover' and/or '--edit'
 options. The first allows the user to specify a file to be used as a
 template. The latter option will invoke the editor on the specified
-file (defaulting to .git/covermail.tmpl or
-/usr/share/stgit/templates/covermail.tmpl).
+file (defaulting to '.git/covermail.tmpl' or
+'~/.stgit/templates/covermail.tmpl' or
+'/usr/share/stgit/templates/covermail.tmpl').
 
 All the subsequent e-mails appear as replies to the first e-mail sent
 (either the preamble or the first patch). E-mails can be seen as
@@ -444,8 +446,10 @@ def func(parser, options, args):
             tfile_list = [options.cover]
         else:
             tfile_list = [os.path.join(basedir.get(), 'covermail.tmpl'),
+                          os.path.join(os.path.expanduser('~'), '.stgit', 'templates',
+                                       'covermail.tmpl'),
                           os.path.join(sys.prefix,
-                                       'share/stgit/templates/covermail.tmpl')]
+                                       'share', 'stgit', 'templates', 'covermail.tmpl')]
 
         tmpl = None
         for tfile in tfile_list:
@@ -476,8 +480,10 @@ def func(parser, options, args):
         tfile_list = [options.template]
     else:
         tfile_list = [os.path.join(basedir.get(), 'patchmail.tmpl'),
+                      os.path.join(os.path.expanduser('~'), '.stgit', 'templates',
+                                   'patchmail.tmpl'),
                       os.path.join(sys.prefix,
-                                   'share/stgit/templates/patchmail.tmpl')]
+                                   'share', 'stgit', 'templates', 'patchmail.tmpl')]
     tmpl = None
     for tfile in tfile_list:
         if os.path.isfile(tfile):
Previous: Yann Dirson
Message 10 of 10 in “Add a testsuite to stgit (take 3), and more”
  1. 0/9 Add a testsuite to stgit (take 3), and moreYann Dirson, Apr 16, 2006
  2. 1/9 Add a testsuite framework copied from git-coreYann Dirson, Apr 16, 2006
  3. 2/9 Add list of bugs to TODOYann Dirson, Apr 16, 2006
  4. 3/9 Add a couple of safety checks to series creationYann Dirson, Apr 16, 2006
  5. 4/9 Make branch creation atomicYann Dirson, Apr 16, 2006
  6. 5/9 Correctly handle refs/patches on series renameYann Dirson, Apr 16, 2006
  7. 6/9 Fix a seriously bad interaction between .git caching and repo cloningYann Dirson, Apr 16, 2006
  8. 7/9 Test that pulls a patch creating a file that got modified afterwardsYann Dirson, Apr 16, 2006
  9. 8/9 Exercise "stg pull" on patches just appending lines.Yann Dirson, Apr 16, 2006
  10. 9/9 Look for templates in ~/.stgit/templates as wellYann Dirson, Apr 16, 2006

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.