From: Bert Wesarg Date: Sat, 09 Aug 2008 07:23:15 GMT Subject: Re: [TopGit PATCH] tg-create.sh: Support for multiple {to,cc,bcc} options Message-ID: <36ca99e90808090023r545bbef4ie6fbe6e5561f3a55@mail.gmail.com> In-Reply-To: <7vbq039dfa.fsf@gitster.siamese.dyndns.org> On Sat, Aug 9, 2008 at 03:37, Junio C Hamano wrote: > Petr Baudis writes: > >>> + prefix="$(echo "$2" | sed -e 's/\//\\\\\//g')" >> >> Maybe use s### ? ;-) > > Personally I like '|' instead. It's much less visually distracting than #. ^^^^^^^^^^ says it all ;-) > >>> + >>> + 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? I tested it with none defined options: no error, no distracting empty lines, no error messages. so it worked here. >>> - ! 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. > > It is not just "I've seen mailers"; RFC2822 wants you to have at most one > (see the table on Page 20). But do we generate a valid mail with tg patch, or just a patch file with some special looking lines? Anyway, I thought about the comma separated solution too, but git send-mail handles these multi lines well. So I take the easy road. Bert