All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Baudis <pasky@suse.cz>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: [PATCH] Git.pm: config_boolean() -> config_bool()
Date: Wed, 9 May 2007 12:49:41 +0200	[thread overview]
Message-ID: <20070509104941.GK4489@pasky.or.cz> (raw)
In-Reply-To: <7v7irxko81.fsf@assigned-by-dhcp.cox.net>

On Sat, Apr 28, 2007 at 08:27:42AM CEST, Junio C Hamano wrote:
> Petr Baudis <pasky@suse.cz> writes:
> 
> > This patch renames config_boolean() to config_bool() for consistency with
> > the commandline interface and because it is shorter but still obvious. ;-)
> > It also changes the return value from some obscure string to real Perl
> > boolean, allowing for clean user code.
> 
> Doesn't this break send-email?

Oh, sorry! My grep must've been broken or something.

> > @@ -526,14 +528,16 @@ This currently wraps command('config') s
> >  
> >  =cut
> >  
> > -sub config_boolean {
> > +sub config_bool {
> >  	my ($self, $var) = @_;
> >  	$self->repo_path()
> >  		or throw Error::Simple("not a repository");
> >  
> >  	try {
> > -		return $self->command_oneline('config', '--bool', '--get',
> > +		my $var = $self->command_oneline('config', '--bool', '--get',
> >  					      $var);
> > +		return undef unless defined $var;
> > +		return $var eq 'true';
> 
> Did you mean to hide $var in the nested scope?

Hmm, I agree that having a different name for it will be more readable,
fixed.

So, I realized that I'm not sure again how to stick a mail reply and new
patch version in the same mail - originally I wanted to reply to this
mail and send the patch as another reply, but that seemed wasteful. Now
it seems that the only option is to stuff the mail reply in the diffstat
area, but I refuse to do that since that's just plainly stupid.

---

This patch renames config_boolean() to config_bool() for consistency with
the commandline interface and because it is shorter but still obvious. ;-)
It also changes the return value from some obscure string to real Perl
boolean, allowing for clean user code.

Signed-off-by: Petr Baudis <pasky@suse.cz>
---

 git-remote.perl     |    4 ++--
 git-send-email.perl |    4 ++--
 perl/Git.pm         |   14 +++++++++-----
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/git-remote.perl b/git-remote.perl
index 52013fe..5763799 100755
--- a/git-remote.perl
+++ b/git-remote.perl
@@ -297,9 +297,9 @@ sub update_remote {
 	} elsif ($name eq 'default') {
 		undef @remotes;
 		for (sort keys %$remote) {
-			my $do_fetch = $git->config_boolean("remote." . $_ .
+			my $do_fetch = $git->config_bool("remote." . $_ .
 						    ".skipDefaultUpdate");
-			if (!defined($do_fetch) || $do_fetch ne "true") {
+			unless ($do_fetch) {
 				push @remotes, $_;
 			}
 		}
diff --git a/git-send-email.perl b/git-send-email.perl
index a6e3e02..404095f 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -154,8 +154,8 @@ if ($@) {
 	$term = new FakeTerm "$@: going non-interactive";
 }
 
-my $def_chain = $repo->config_boolean('sendemail.chainreplyto');
-if ($def_chain and $def_chain eq 'false') {
+my $def_chain = $repo->config_bool('sendemail.chainreplyto');
+if (defined $def_chain and not $def_chain) {
     $chain_reply_to = 0;
 }
 
diff --git a/perl/Git.pm b/perl/Git.pm
index b5b1cf5..924470a 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -516,9 +516,11 @@ sub config {
 }
 
 
-=item config_boolean ( VARIABLE )
+=item config_bool ( VARIABLE )
 
-Retrieve the boolean configuration C<VARIABLE>.
+Retrieve the bool configuration C<VARIABLE>. The return value
+is usable as a boolean in perl (and C<undef> if it's not defined,
+of course).
 
 Must be called on a repository instance.
 
@@ -526,14 +528,16 @@ This currently wraps command('config') so it is not so fast.
 
 =cut
 
-sub config_boolean {
+sub config_bool {
 	my ($self, $var) = @_;
 	$self->repo_path()
 		or throw Error::Simple("not a repository");
 
 	try {
-		return $self->command_oneline('config', '--bool', '--get',
-					      $var);
+		my $val = $self->command_oneline('config', '--bool', '--get',
+					      $val);
+		return undef unless defined $val;
+		return $val eq 'true';
 	} catch Git::Error::Command with {
 		my $E = shift;
 		if ($E->value() == 1) {



-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Ever try. Ever fail. No matter. // Try again. Fail again. Fail better.
		-- Samuel Beckett

  reply	other threads:[~2007-05-09 10:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-27  2:06 [PATCH 1/4] Git.pm: config_boolean() -> config_bool() Petr Baudis
2007-04-27  2:06 ` [PATCH 2/4] Git.pm: Add remote_refs() git-ls-remote frontend Petr Baudis
2007-04-27  2:06 ` [PATCH 3/4] [PATCH] git-mirror - exactly mirror another repository Petr Baudis
2007-04-27  4:39   ` Shawn O. Pearce
2007-04-27  2:06 ` [PATCH 4/4] server info: Add HEAD to info/refs Petr Baudis
2007-04-27  3:51   ` Junio C Hamano
2007-04-27  4:28     ` Petr Baudis
2007-04-27  4:36       ` Junio C Hamano
2007-04-28  6:27 ` [PATCH 1/4] Git.pm: config_boolean() -> config_bool() Junio C Hamano
2007-05-09 10:49   ` Petr Baudis [this message]
2007-05-09 15:13     ` [PATCH] " Petr Baudis
2007-05-10  2:12       ` Junio C Hamano
2007-05-09 15:24     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070509104941.GK4489@pasky.or.cz \
    --to=pasky@suse.cz \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.