summaryrefslogtreecommitdiff
path: root/perl
diff options
context:
space:
mode:
authorAlex Riesen <raa.lkml@gmail.com>2007-01-22 17:16:05 +0100
committerJunio C Hamano <junkio@cox.net>2007-01-22 09:44:26 -0800
commitbed118d6bb6dee92180469466dfa265265678dd4 (patch)
tree56dde72293ed343d4dc4728cd71b1bbfb521aa93 /perl
parentd3b1785f3fe681f6837a6110008af98003f675d3 (diff)
downloadgit-bed118d6bb6dee92180469466dfa265265678dd4.tar.gz
Force Activestate Perl to tie git command pipe handle to a handle class
Otherwise it tries to tie it to a scalar and complains about missing method. Dunno why, may be ActiveState brokenness again. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Acked-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'perl')
-rw-r--r--perl/Git.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/perl/Git.pm b/perl/Git.pm
index 58414e3ec8..2f6b59a43b 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -742,7 +742,13 @@ sub _command_common_pipe {
# warn 'ignoring STDERR option - running w/ ActiveState';
$direction eq '-|' or
die 'input pipe for ActiveState not implemented';
- tie ($fh, 'Git::activestate_pipe', $cmd, @args);
+ # the strange construction with *ACPIPE is just to
+ # explain the tie below that we want to bind to
+ # a handle class, not scalar. It is not known if
+ # it is something specific to ActiveState Perl or
+ # just a Perl quirk.
+ tie (*ACPIPE, 'Git::activestate_pipe', $cmd, @args);
+ $fh = *ACPIPE;
} else {
my $pid = open($fh, $direction);