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

[TopGit PATCH 1/2] Factor out the template generation for the .topmsg file

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Aug 8, 2008, 18:19 UTC
Message-ID
<1218219588-6849-1-git-send-email-bert.wesarg@googlemail.com>
Provide a function for the .topmsg template file.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
 tg-create.sh |   29 ++---------------------------
 tg.sh        |   30 ++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 27 deletions(-)
diff --git a/tg-create.sh b/tg-create.sh
index d47959b..e30a014 100644
--- a/tg-create.sh
+++ b/tg-create.sh
@@ -100,33 +100,8 @@ git checkout -b "$name"
 echo "$deps" | sed 's/ /\n/g' >"$root_dir/.topdeps"
 git add "$root_dir/.topdeps"
 
-# Print each config value for a key ($1, without "topgit." prefix)
-# with the given prefix ($2)
-get_multi_config()
-{
-	# escape any / in prefix for sed
-	prefix="$(echo "$2" | sed -e 's/\//\\\\\//g')"
-
-	git config --get-all topgit.$1 2>/dev/null |
-		sed -e "s/^/$prefix /g"
-}
-
-author="$(git var GIT_AUTHOR_IDENT)"
-author_addr="${author%> *}>"
-{
-	echo "From: $author_addr"
-	get_multi_config to  "To:"
-	get_multi_config cc  "Cc:"
-	get_multi_config bcc "Bcc:"
-	! subject_prefix="$(git config topgit.subjectprefix)" || subject_prefix="$subject_prefix "
-	echo "Subject: [${subject_prefix}PATCH] $name"
-	echo
-	cat <<EOT
-<patch description>
-
-Signed-off-by: $author_addr
-EOT
-} >"$root_dir/.topmsg"
+echo "<patch description>" |
+	make_topmsg "$name" >"$root_dir/.topmsg"
 git add "$root_dir/.topmsg"
 
 
diff --git a/tg.sh b/tg.sh
index 03a392b..8384b79 100644
--- a/tg.sh
+++ b/tg.sh
@@ -148,6 +148,36 @@ switch_to_base()
 	git symbolic-ref HEAD "$_base"
 }
 
+# Print each config value for a key ($1, without "topgit." prefix)
+# with the given prefix ($2)
+get_multi_config()
+{
+	# escape any / in prefix for sed
+	prefix="$(echo "$2" | sed -e 's/\//\\\\\//g')"
+
+	git config --get-all topgit.$1 2>/dev/null |
+		sed -e "s/^/$prefix /g"
+}
+
+# Make initial .topmsg template with content from stdin
+# optional first argument is subject line
+make_topmsg()
+{
+	author="$(git var GIT_AUTHOR_IDENT)"
+	author_addr="${author%> *}>"
+
+	echo "From: $author_addr"
+	get_multi_config to  "To:"
+	get_multi_config cc  "Cc:"
+	get_multi_config bcc "Bcc:"
+	! subject_prefix="$(git config topgit.subjectprefix)" || subject_prefix="$subject_prefix "
+	echo "Subject: [${subject_prefix}PATCH] $1"
+	echo
+	cat
+	echo
+	echo "Signed-off-by: $author_addr"
+}
+
 # Show the help messages.
 do_help()
 {
-- 
tg: (2a28314..) t/make-.topmsg-gen-a-function (depends on: t/support-for-multiple-to-cc-bcc-options)
Next: Bert Wesarg
Message 1 of 4 in “Factor out the template generation for the .topmsg file”
  1. 1/2 Factor out the template generation for the .topmsg fileBert Wesarg, Aug 8, 2008
  2. 2/2 tg-import.sh: A dump quilt queue importerBert Wesarg, Aug 8, 2008
  3. Petr BaudisAug 9, 2008
  4. Bert WesargAug 9, 2008

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.