tests: replace test_tristate with "git env--helper"
[gitweb.git] / perl / Git.pm
index 9f246c7988f5ff43ecf8ea3465387a526a66e6f4..62c472e0ce41d507e88df86f6a022d1a08fbc4a6 100644 (file)
@@ -536,7 +536,9 @@ sub version {
 sub get_tz_offset {
        # some systems don't handle or mishandle %z, so be creative.
        my $t = shift || time;
-       my $gm = timegm(localtime($t));
+       my @t = localtime($t);
+       $t[5] += 1900;
+       my $gm = timegm(@t);
        my $sign = qw( + + - )[ $gm <=> $t ];
        return sprintf("%s%02d%02d", $sign, (gmtime(abs($t - $gm)))[2,1]);
 }
@@ -552,7 +554,7 @@ sub get_record {
        my ($fh, $rs) = @_;
        local $/ = $rs;
        my $rec = <$fh>;
-       chomp $rec if defined $rs;
+       chomp $rec if defined $rec;
        $rec;
 }
 
@@ -978,7 +980,7 @@ sub cat_blob {
                return -1;
        }
 
-       if ($description !~ /^[0-9a-fA-F]{40} \S+ (\d+)$/) {
+       if ($description !~ /^[0-9a-fA-F]{40}(?:[0-9a-fA-F]{24})? \S+ (\d+)$/) {
                carp "Unexpected result returned from git cat-file";
                return -1;
        }