From ce11873921e19be44082660882e07b205082643b Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Tue, 24 Apr 2007 18:02:07 -0700 Subject: Remove usernames from all commit messages, not just when using svmprops Signed-off-by: Sam Vilain Signed-off-by: Adam Roben Acked-by: Eric Wong Signed-off-by: Junio C Hamano --- git-svn.perl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'git-svn.perl') diff --git a/git-svn.perl b/git-svn.perl index efc4c88a4e..077d6b3a13 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1866,11 +1866,14 @@ sub make_log_entry { } elsif ($self->use_svnsync_props) { my $full_url = $self->svnsync->{url}; $full_url .= "/$self->{path}" if length $self->{path}; + remove_username($full_url); my $uuid = $self->svnsync->{uuid}; $log_entry{metadata} = "$full_url\@$rev $uuid"; $email ||= "$author\@$uuid" } else { - $log_entry{metadata} = $self->metadata_url. "\@$rev " . + my $url = $self->metadata_url; + remove_username($url); + $log_entry{metadata} = "$url\@$rev " . $self->ra->get_uuid; $email ||= "$author\@" . $self->ra->get_uuid; } -- cgit v1.2.3 From b03c7a63a0fae58a576749d7a6b0507edde12584 Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Wed, 25 Apr 2007 11:50:32 -0700 Subject: git-svn: Don't rely on $_ after making a function call 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. Signed-off-by: Adam Roben Acked-by: Eric Wong Signed-off-by: Junio C Hamano --- git-svn.perl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'git-svn.perl') diff --git a/git-svn.perl b/git-svn.perl index 077d6b3a13..90f3bc18b9 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); -- cgit v1.2.3 From 56973d20c181abdc5cc13eab976733feec0c590b Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Wed, 25 Apr 2007 12:42:58 -0700 Subject: git-svn: Ignore usernames in URLs in find_by_url Usernames don't matter for the purposes of find_by_url, so always remove them before doing any comparisons. Signed-off-by: Adam Roben Acked-by: Eric Wong Signed-off-by: Junio C Hamano --- git-svn.perl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'git-svn.perl') diff --git a/git-svn.perl b/git-svn.perl index 90f3bc18b9..7b5f8ab3be 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1064,7 +1064,10 @@ sub init_remote_config { sub find_by_url { # repos_root and, path are optional my ($class, $full_url, $repos_root, $path) = @_; + return undef unless defined $full_url; + remove_username($full_url); + remove_username($repos_root) if defined $repos_root; my $remotes = read_all_remotes(); if (defined $full_url && defined $repos_root && !defined $path) { $path = $full_url; @@ -1072,6 +1075,7 @@ sub find_by_url { # repos_root and, path are optional } foreach my $repo_id (keys %$remotes) { my $u = $remotes->{$repo_id}->{url} or next; + remove_username($u); next if defined $repos_root && $repos_root ne $u; my $fetch = $remotes->{$repo_id}->{fetch} || {}; -- cgit v1.2.3