From: Junio C Hamano Date: Thu, 14 Feb 2013 18:29:44 +0000 (-0800) Subject: Merge branch 'bw/get-tz-offset-perl' X-Git-Tag: v1.8.2-rc0~18 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/01e1406100cff1cc9d1ad2f0c766aaa8c55ebc27?ds=inline;hp=-c Merge branch 'bw/get-tz-offset-perl' * bw/get-tz-offset-perl: cvsimport: format commit timestamp ourselves without using strftime perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases Move Git::SVN::get_tz to Git::get_tz_offset --- 01e1406100cff1cc9d1ad2f0c766aaa8c55ebc27 diff --combined perl/Git/SVN.pm index 490e330380,8c84560a49..0ebc68ac7e --- a/perl/Git/SVN.pm +++ b/perl/Git/SVN.pm @@@ -11,7 -11,6 +11,6 @@@ use Carp qw/croak/ use File::Path qw/mkpath/; use File::Copy qw/copy/; use IPC::Open3; - use Time::Local; use Memoize; # core since 5.8.0, Jul 2002 use Memoize::Storable; use POSIX qw(:signal_h); @@@ -22,6 -21,7 +21,7 @@@ use Git qw command_noisy command_output_pipe command_close_pipe + get_tz_offset ); use Git::SVN::Utils qw( fatal @@@ -490,7 -490,7 +490,7 @@@ sub refname # # Additionally, % must be escaped because it is used for escaping # and we want our escaped refname to be reversible - $refname =~ s{([ \%~\^:\?\*\[\t])}{uc sprintf('%%%02x',ord($1))}eg; + $refname =~ s{([ \%~\^:\?\*\[\t])}{sprintf('%%%02X',ord($1))}eg; # no slash-separated component can begin with a dot . # /.* becomes /%2E* @@@ -1311,14 -1311,6 +1311,6 @@@ sub get_untracked \@out; } - sub get_tz { - # some systmes don't handle or mishandle %z, so be creative. - my $t = shift || time; - my $gm = timelocal(gmtime($t)); - my $sign = qw( + + - )[ $t <=> $gm ]; - return sprintf("%s%02d%02d", $sign, (gmtime(abs($t - $gm)))[2,1]); - } - # parse_svn_date(DATE) # -------------------- # Given a date (in UTC) from Subversion, return a string in the format @@@ -1351,7 -1343,7 +1343,7 @@@ sub parse_svn_date delete $ENV{TZ}; } - my $our_TZ = get_tz(); + my $our_TZ = get_tz_offset(); # This converts $epoch_in_UTC into our local timezone. my ($sec, $min, $hour, $mday, $mon, $year, @@@ -2377,7 -2369,7 +2369,7 @@@ sub map_path sub uri_encode { my ($f) = @_; - $f =~ s#([^a-zA-Z0-9\*!\:_\./\-])#uc sprintf("%%%02x",ord($1))#eg; + $f =~ s#([^a-zA-Z0-9\*!\:_\./\-])#sprintf("%%%02X",ord($1))#eg; $f }