diff options
author | Eric Wong <normalperson@yhbt.net> | 2007-02-09 02:19:41 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2007-02-23 00:57:11 -0800 |
commit | d542aedb9424872474e896a6d20407745d4bd627 (patch) | |
tree | aff0dc7a0d5e48c76f77b8e8f771be2c5b73d81b | |
parent | b9dffd8cad737a07d6a05503318c6746ac593f9c (diff) | |
download | git-d542aedb9424872474e896a6d20407745d4bd627.tar.gz git-d542aedb9424872474e896a6d20407745d4bd627.tar.xz |
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 <normalperson@yhbt.net>
-rwxr-xr-x | git-svn.perl | 11 |
1 files changed, 3 insertions, 8 deletions
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; |