From: Eric Wong Date: Fri, 9 Feb 2007 10:19:41 +0000 (-0800) Subject: git-svn: remove check_path calls before calling do_update X-Git-Tag: v1.5.1-rc1~186 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d542aedb9424872474e896a6d20407745d4bd627;p=git.git git-svn: remove check_path calls before calling do_update These checks were needed before git-svn got smarter about match_paths() and using path information returned by get_log(). We also have extra checking against fetching revisions out-of-order these days; so we don't have to worry about that as much. We also check for tree deletions in match_paths() and skip those as well. Signed-off-by: Eric Wong --- diff --git a/git-svn.perl b/git-svn.perl index cd35efec7..819d25e28 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1138,6 +1138,9 @@ sub do_git_commit { sub match_paths { my ($self, $paths, $r) = @_; + if (my $path = $paths->{"/$self->{path}"}) { + return ($path->{action} eq 'D') ? 0 : 1; + } $self->{path_regex} ||= qr/^\/\Q$self->{path}\E\/?/; if (grep /$self->{path_regex}/, keys %$paths) { return 1; @@ -2394,14 +2397,6 @@ sub gs_do_update { my $new = ($rev_a == $rev_b); my $path = $gs->{path}; - my $ta = $self->check_path($path, $rev_a); - my $tb = $new ? $ta : $self->check_path($path, $rev_b); - return 1 if ($tb != $SVN::Node::dir && $ta != $SVN::Node::dir); - if ($ta == $SVN::Node::none) { - $rev_a = $rev_b; - $new = 1; - } - my $pool = SVN::Pool->new; $editor->set_path_strip($path); my (@pc) = split m#/#, $path;