On Fri, Jan 18, 2013 at 12:36:46PM -0800, Junio C Hamano wrote: > "Dmitry V. Levin" <ldv@xxxxxxxxxxxx> writes: > > > This fixes "hg" patch format support for locales other than C and en_*. > > Before the change, git-am was making "Date:" line from hg changeset > > metadata according to the current locale, and this line was rejected > > later with "invalid date format" diagnostics because localized date > > strings are not supported. > > > > Reported-by: Gleb Fotengauer-Malinovskiy <glebfm@xxxxxxxxxxxx> > > Signed-off-by: Dmitry V. Levin <ldv@xxxxxxxxxxxx> > > --- > > > > v3: alternative implementation using setlocale(LC_TIME, "C") > > > > git-am.sh | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/git-am.sh b/git-am.sh > > index c682d34..8677d8c 100755 > > --- a/git-am.sh > > +++ b/git-am.sh > > @@ -334,7 +334,8 @@ split_patches () { > > # Since we cannot guarantee that the commit message is in > > # git-friendly format, we put no Subject: line and just consume > > # all of the message as the body > > - perl -M'POSIX qw(strftime)' -ne 'BEGIN { $subject = 0 } > > + perl -M'POSIX qw(strftime :locale_h)' -ne ' > > + BEGIN { setlocale(LC_TIME, "C"); $subject = 0 } > > I still haven't convinced myself that this is an improvement over > the simple "LC_ALL=C LANG=C perl ..." approach. Personally I prefer 2nd edition that is simpler and does the right thing (not that LC_ALL=C is necessary and sufficient, you neither need to add things like LANG=C nor can relax it to LC_TIME=C). -- ldv
Attachment:
pgptmxdYqfK2d.pgp
Description: PGP signature