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

Re: [TopGit PATCH] tg-create.sh: Support for multiple {to,cc,bcc} options

From
Petr Baudis <pasky@suse.cz>
Date
Aug 9, 2008, 00:33 UTC
Message-ID
<20080809003357.GQ10151@machine.or.cz>
In-Reply-To
<1218141086-16063-1-git-send-email-bert.wesarg@googlemail.com>
  Hi,
On Thu, Aug 07, 2008 at 10:31:26PM +0200, Bert Wesarg wrote:
Show 23 quoted lines
> Git config supports multiple values for the same config key, so support it
> for these TopGit config options, too.
> 
> Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
> 
> ---
>  tg-create.sh |   17 ++++++++++++++---
>  1 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/tg-create.sh b/tg-create.sh
> index 6cce7ed..d47959b 100644
> --- a/tg-create.sh
> +++ b/tg-create.sh
> @@ -100,13 +100,24 @@ 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')"
Maybe use s### ? ;-)
> +
> +	git config --get-all topgit.$1 2>/dev/null |
> +		sed -e "s/^/$prefix /g"
> +}

Won't this return an error code and terminate the script in case no option is defined? And why the stderr redirect?

Show 13 quoted lines
>  author="$(git var GIT_AUTHOR_IDENT)"
>  author_addr="${author%> *}>"
>  {
>  	echo "From: $author_addr"
> -	! header="$(git config topgit.to)" || echo "To: $header"
> -	! header="$(git config topgit.cc)" || echo "Cc: $header"
> -	! header="$(git config topgit.bcc)" || echo "Bcc: $header"
> +	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

One trouble here is that I've seen mailers mess up when there is multiple occurences of these headers, so it would be probably safer to concatenate them all to single line, comma-separated.

-- 
				Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates
Previous: Bert WesargNext: Junio C Hamano
Message 2 of 6 in “tg-create.sh: Support for multiple {to,cc,bcc} options”
  1. tg-create.sh: Support for multiple {to,cc,bcc} optionsBert Wesarg, Aug 7, 2008
  2. Petr BaudisAug 9, 2008
  3. Junio C HamanoAug 9, 2008
  4. Bert WesargAug 9, 2008
  5. Petr BaudisAug 9, 2008
  6. 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.