|
|
@ -59,24 +59,29 @@ my $rc = GetOptions("from=s" => \$from, |
|
|
|
|
|
|
|
|
|
|
|
# Now, let's fill any that aren't set in with defaults: |
|
|
|
# Now, let's fill any that aren't set in with defaults: |
|
|
|
|
|
|
|
|
|
|
|
open(GITVAR,"-|","git-var","-l") |
|
|
|
sub gitvar { |
|
|
|
or die "Failed to open pipe from git-var: $!"; |
|
|
|
my ($var) = @_; |
|
|
|
|
|
|
|
my $fh; |
|
|
|
my ($author,$committer); |
|
|
|
my $pid = open($fh, '-|'); |
|
|
|
while(<GITVAR>) { |
|
|
|
die "$!" unless defined $pid; |
|
|
|
chomp; |
|
|
|
if (!$pid) { |
|
|
|
my ($var,$data) = split /=/,$_,2; |
|
|
|
exec('git-var', $var) or die "$!"; |
|
|
|
my @fields = split /\s+/, $data; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my $ident = join(" ", @fields[0...(@fields-3)]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($var eq 'GIT_AUTHOR_IDENT') { |
|
|
|
|
|
|
|
$author = $ident; |
|
|
|
|
|
|
|
} elsif ($var eq 'GIT_COMMITTER_IDENT') { |
|
|
|
|
|
|
|
$committer = $ident; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
my ($val) = <$fh>; |
|
|
|
|
|
|
|
close $fh or die "$!"; |
|
|
|
|
|
|
|
chomp($val); |
|
|
|
|
|
|
|
return $val; |
|
|
|
} |
|
|
|
} |
|
|
|
close(GITVAR); |
|
|
|
|
|
|
|
|
|
|
|
sub gitvar_ident { |
|
|
|
|
|
|
|
my ($name) = @_; |
|
|
|
|
|
|
|
my $val = gitvar($name); |
|
|
|
|
|
|
|
my @field = split(/\s+/, $val); |
|
|
|
|
|
|
|
return join(' ', @field[0...(@field-3)]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my ($author) = gitvar_ident('GIT_AUTHOR_IDENT'); |
|
|
|
|
|
|
|
my ($committer) = gitvar_ident('GIT_COMMITTER_IDENT'); |
|
|
|
|
|
|
|
|
|
|
|
my $prompting = 0; |
|
|
|
my $prompting = 0; |
|
|
|
if (!defined $from) { |
|
|
|
if (!defined $from) { |
|
|
|