# [RESEND PATCH 2/3] Force Activestate Perl to tie git command pipe handle to a handle class

1 messages from 2007-01-22 to 2007-01-22. Participants: Alex Riesen.
Thread: https://gitlist.dev/t/6474

## Alex Riesen, 2007-01-22 17:12

Subject: [RESEND PATCH 2/3] Force Activestate Perl to tie git command pipe handle to a handle class
Message-ID: <81b0412b0701220912qde73d90y7c2b7529cbfad314@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0701220912qde73d90y7c2b7529cbfad314%40mail.gmail.com

```
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>
---
 perl/Git.pm |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)


From 2b8a716c644c3a4ca85446007daee0e792703822 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Mon, 22 Jan 2007 17:16:05 +0100
Subject: [PATCH 2/3] 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>
---
 perl/Git.pm |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/perl/Git.pm b/perl/Git.pm
index 58414e3..2f6b59a 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);
-- 
1.5.0.rc2.g3f1a


```
