diff options
author | Alex Riesen <raa.lkml@gmail.com> | 2007-01-22 17:16:05 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-01-22 09:44:26 -0800 |
commit | bed118d6bb6dee92180469466dfa265265678dd4 (patch) | |
tree | 56dde72293ed343d4dc4728cd71b1bbfb521aa93 /perl | |
parent | d3b1785f3fe681f6837a6110008af98003f675d3 (diff) | |
download | git-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.pm | 8 |
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); |