Re: [PATCHv2 3/4] git-am foreign patch support: StGIT support
- From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
- Date
- May 27, 2009, 08:29 UTC
- Message-ID
- <cb7bb73a0905270129j375ac104yb9ca8601312ddbde@mail.gmail.com>
- In-Reply-To
- <7v7i03j9mb.fsf@alter.siamese.dyndns.org>
On Wed, May 27, 2009 at 9:19 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
> Giuseppe Bilotta <giuseppe.bilotta@gmail.com> writes: > >> + # set the patch format appropriately >> + patch_format=stgit >> + # now handle the actual StGIT patches >> + split_patches "$@" > > Can an stgit patch file (or the leading pathname for that matter) have IFS > character in its name?
StGIT sanitizes filenames in a way similar to what format-patch does.
Show 30 quoted lines
>> + ;;
>> + stgit)
>> + this=0
>> + for stgit in "$@"
>> + do
>> + this=`expr "$this" + 1`
>> + msgnum=`printf "%0${prec}d" $this`
>> + touch "$dotest/$msgnum"
>
> Portability tip from an old timer: do not create a new empty file with
> "touch" (only use that command to update the timestamp of an existing
> file).
>
> Instead say
>
> >"$dotest/$msgnum"
>
>> + # Awk version of StGIT parse_patch. The first nonemptyline
>> + # not starting with Author, From or Date is the
>> + # subject, and the body starts with the next nonempty
>> + # line not starting with Author, From or Date
>> + awk 'BEGIN { subject=0 }
>> + {
>> + if (subject > 1)
>> + print ;
>> + else if (/^$/) next ;
>> + else if (/^Author:/) print sub("Author", "From"), $ORS ;
>
> Can any token that match Author other than the initial "Author: " appear
> on this line?Irrelevant, sub only substitutes the first hit so only the initial Author: is replaced.
> Since we rely on Perl but not awk in core-ish part of the scripted > Porcelains, it might be a good idea to write this in Perl as well.
By 'as well' you mean in case awk is missing, and have both, or by only keeping a perl version?
-- Giuseppe "Oblomov" Bilotta