Re: [PATCHv2] am: fix patch format detection for Thunderbird "Save As" emails
- From
Eric Blake <ebb9@byu.net>
- Date
- Dec 19, 2009, 05:38 UTC
- Message-ID
- <4B2C66D3.1070508@byu.net>
- In-Reply-To
- <4B2C395A.6080300@gmail.com>
According to Stephen Boyd on 12/18/2009 7:24 PM:
Show 12 quoted lines
>> Nope. You need either "\\015\\n" or '\015\n', since "\015" and "\n"
>> are both
>> undefined in portable shell.
>
> So, how about this?
>
> {
> echo "X-Fake-Field: Line One"&&
> echo "X-Fake-Field: Line Two"&&
> echo "X-Fake-Field: Line Three"&&
> git format-patch --stdout first | sed -e "1d"
> } | sed -e "s/$/;/" | tr "'";"'" "'"\015"'"> patch1-crlf.emlSyntax error. "$/" is not defined, so the argument to sed is not portable. Then, following the tr, you have an unquoted ;, meaning you invoked 'tr "'"', followed by invoking the (non-existent) command '.
Show 9 quoted lines
>
> Or maybe this?
>
> {
> echo "X-Fake-Field: Line One"&&
> echo "X-Fake-Field: Line Two"&&
> echo "X-Fake-Field: Line Three"&&
> git format-patch --stdout first | sed -e "1d"
> } | sed -e "s/$/;/" | tr ";" "\\015"> patch1-crlf.emlCloser, but not there yet. "$/" is still not defined. Then, as a matter of style, '\' is more readable than "\\" for representing a backslash. So as long as we are shifting to '', we might as well do it everywhere in that line - write it like this:
} | sed -e 's/$/;/' | tr ';' '\015' > patch1-crlf.eml
and you should be set.
-- Don't work too hard, make some time for fun as well! Eric Blake ebb9@byu.net