All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: Adam Roben <aroben@apple.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] git-svn: Don't rely on $_ after making a function call
Date: Wed, 25 Apr 2007 13:59:48 -0700	[thread overview]
Message-ID: <20070425205948.GA12375@untitled> (raw)
In-Reply-To: <11775270321427-git-send-email-aroben@apple.com>

Adam Roben <aroben@apple.com> wrote:
> Many functions and operators in perl set $_, so its value cannot be relied upon
> after calling arbitrary functions. The solution is simply to copy the value of
> $_ into a local variable that will not get overwritten.

Does this fix any particular bug?  It looks right to me
and makes the code easier to follow, so;

Acked-by: Eric Wong <normalperson@yhbt.net>

> Signed-off-by: Adam Roben <aroben@apple.com>
> ---
>  git-svn.perl |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 077d6b3..90f3bc1 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -771,19 +771,19 @@ sub cmt_metadata {
>  sub working_head_info {
>  	my ($head, $refs) = @_;
>  	my ($fh, $ctx) = command_output_pipe('rev-list', $head);
> -	while (<$fh>) {
> -		chomp;
> -		my ($url, $rev, $uuid) = cmt_metadata($_);
> +	while (my $hash = <$fh>) {
> +		chomp($hash);
> +		my ($url, $rev, $uuid) = cmt_metadata($hash);
>  		if (defined $url && defined $rev) {
>  			if (my $gs = Git::SVN->find_by_url($url)) {
>  				my $c = $gs->rev_db_get($rev);
> -				if ($c && $c eq $_) {
> +				if ($c && $c eq $hash) {
>  					close $fh; # break the pipe
>  					return ($url, $rev, $uuid, $gs);
>  				}
>  			}
>  		}
> -		unshift @$refs, $_ if $refs;
> +		unshift @$refs, $hash if $refs;
>  	}
>  	command_close_pipe($fh, $ctx);
>  	(undef, undef, undef, undef);
> -- 
> 1.5.2.rc0.14.g520d-dirty
> 

-- 
Eric Wong

  reply	other threads:[~2007-04-25 21:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-25 18:50 [PATCH] git-svn: Don't rely on $_ after making a function call Adam Roben
2007-04-25 20:59 ` Eric Wong [this message]
2007-04-25 21:03   ` Adam Roben
2007-04-25 21:13   ` Junio C Hamano
2007-04-26  2:11     ` Randal L. Schwartz

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=20070425205948.GA12375@untitled \
    --to=normalperson@yhbt.net \
    --cc=aroben@apple.com \
    --cc=git@vger.kernel.org \
    /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.