From: Jakub Narebski Date: Mon, 17 Oct 2011 21:47:41 GMT Subject: Re: [PATCH/RFC 3/2] Refactor Git::config_* Message-ID: <201110172347.42568.jnareb@gmail.com> In-Reply-To: <7vsjmrl4ur.fsf@alter.siamese.dyndns.org> On Mon, 17 Oct 2011, Junio C Hamano wrote: > Jakub Narebski writes: > > > This is version which has fixed style to be more Perl-ish, and which > > actually works (i.e. t9700 passes). > > > > I have also moved _config_common() after commands that use it, just like > > it is done with other "private" methods (methods with names starting with > > '_'), and excluded this private detail of implementation from docs. > > It seems that this breaks many tests in t9xxx series for me, especially > the 9100 series that cover git-svn. Sorry about that, I have ran only t9700-perl-git.sh, which runs all right. The problem was with duplicated _maybe_self(@_), which should be run only once. t9700-perl-git.sh passed because it uses only (recommended) object form, and not procedural form like git-svn. The following amend fixes the issue for me: -- >8 -- diff --git i/perl/Git.pm w/perl/Git.pm index 8e52290..32f6533 100644 --- i/perl/Git.pm +++ w/perl/Git.pm @@ -653,7 +653,7 @@ sub config_int { # Common subroutine to implement bulk of what the config* family of methods # do. This wraps command('config') so it is not so fast. sub _config_common { - my ($self, $var, $opts) = _maybe_self(@_); + my ($self, $var, $opts) = @_; try { my @cmd = ('config', $opts->{'kind'} ? $opts->{'kind'} : ()); -- 8< -- I'll resend amended commit. -- Jakub Narebski Poland