summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2007-02-09 10:19:41 (GMT)
committerEric Wong <normalperson@yhbt.net>2007-02-23 08:57:11 (GMT)
commitd542aedb9424872474e896a6d20407745d4bd627 (patch)
treeaff0dc7a0d5e48c76f77b8e8f771be2c5b73d81b /git-svn.perl
parentb9dffd8cad737a07d6a05503318c6746ac593f9c (diff)
downloadgit-d542aedb9424872474e896a6d20407745d4bd627.zip
git-d542aedb9424872474e896a6d20407745d4bd627.tar.gz
git-d542aedb9424872474e896a6d20407745d4bd627.tar.bz2
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>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl11
1 files changed, 3 insertions, 8 deletions
diff --git a/git-svn.perl b/git-svn.perl
index cd35efe..819d25e 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;