Re: [PATCH/RFC 3/2] Refactor Git::config_*
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Oct 17, 2011, 21:47 UTC
- 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:
Show 11 quoted lines
> Jakub Narebski <jnareb@gmail.com> 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