Re: How to use --cc-cmd in git-send-email?
From: Eric Sunshine <hidden>
Date: 2016-06-15 23:05:49
On Sun, Jul 19, 2015 at 6:02 PM, Philip Oakley [off-list ref] wrote:
I've been using git-send-email with repeated individual --cc="email address" parameters on the command line. I tried putting all the addresses, one per line, into a file 'cc-cmd', so I could use if for the --cc-cmd option. I then tried to use --cc-cmd='cat cc-cmd' to do the send-email (as a --dry-run). This produced, as part of the output, a list of the output of the cc-cmd, which showed not only the file contents, but this was then followed by the full patch, as if it was part of the list of email addresses.
git-send-email invokes the cc-cmd like this:
$cc-cmd $patchfilename
so, when you used 'cat cc-cmd' as the value of --cc-cmd, your invocation became:
cat cc-cmd $patchfilename
and since 'cat' copies the concatenation of its input files to its
output, that explains why you first saw the names from your 'cc-cmd'
file followed by the content of the patch file.
A quick-and-dirty work-around is to use '#' to effectively comment out
the patch file name:
--cc-cmd='cat cc-cmd #'
which works, but is very, very ugly.
Could this have been caused by an extra (blank) line at the end of the cc-cmd file?
Nope.
Also, does anyone have an example of a working --cc-cmd option?
A very simple working solution is to make your 'cc-cmd' file executable:
#!/bin/sh
echo <<\EOF
person1@example.com
person2@example.com
EOF