Petr Baudis <pasky@xxxxxxx> writes: > On Mon, Aug 04, 2008 at 01:05:56AM -0700, Junio C Hamano wrote: >> Petr Baudis <pasky@xxxxxxx> writes: >> >> > The hash_and_insert_object() and cat_blob() helpers were using >> > an incorrect slice-from-ref Perl syntax. This patch fixes that up >> > in the _close_*() helpers and make the _open_*() helpers use the >> > same syntax for consistnecy. >> > >> > Signed-off-by: Petr Baudis <pasky@xxxxxxx> >> > --- >> > >> > Wow, the command_bidi_pipe API really is dirty. Of course, it is >> > my fault as anyone's since I didn't get around to review the patches >> > introducing it. >> >> Sorry, delete is still broken with your patch, isn't it? > > Oh, right - I forgot that one and it didn't occur to me to test this > part. > >> The earlier patch from Abhijit Menon-Sen does this properly for >> close_hash_and_insert and close_cat_blob, which I've queued already. > > Abhijit, can you please tag your Git.pm patches so that I actually have > a chance to see and review it? It is $gmane/91316, Message-ID: <20080804050247.GA13539@xxxxxxxxxx> After queueing it, I actually had to revert it, because it seems to break git-svn (t9106-git-svn-commit-diff-clobber.sh, test #8), and I am about to go to bed. If you did not see the same breakage with your patch that does not "fix" delete, it could be that the git-svn uses some of the resources that are released by the delete actually doing what it is asked to do. --- At 2008-08-04 12:49:27 +0800, rctay89@xxxxxxxxx wrote: > > $self->{@vars} evaluates to undef. i can't find any mention of using > arrays to dereference objects in the manual and elsewhere; is this a > mistake? Yes, @vars would be interpreted in scalar context, which certainly isn't the intended effect. -- ams perl/Git.pm | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/perl/Git.pm b/perl/Git.pm index 087d3d0..2ef437f 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -839,8 +839,8 @@ sub _close_hash_and_insert_object { my @vars = map { 'hash_object_' . $_ } qw(pid in out ctx); - command_close_bidi_pipe($self->{@vars}); - delete $self->{@vars}; + command_close_bidi_pipe(@$self{@vars}); + delete @$self{@vars}; } =item cat_blob ( SHA1, FILEHANDLE ) @@ -928,8 +928,8 @@ sub _close_cat_blob { my @vars = map { 'cat_blob_' . $_ } qw(pid in out ctx); - command_close_bidi_pipe($self->{@vars}); - delete $self->{@vars}; + command_close_bidi_pipe(@$self{@vars}); + delete @$self{@vars}; } =back -- 1.6.0.rc0.43.g2aa74 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html