summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b9dffd8)
raw | patch | inline | side by side (parent: b9dffd8)
author | Eric Wong <normalperson@yhbt.net> | |
Fri, 9 Feb 2007 10:19:41 +0000 (02:19 -0800) | ||
committer | Eric Wong <normalperson@yhbt.net> | |
Fri, 23 Feb 2007 08:57:11 +0000 (00:57 -0800) |
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>
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>
git-svn.perl | patch | blob | history |
diff --git a/git-svn.perl b/git-svn.perl
index cd35efec7e175838c2de855d404247609c16d64e..819d25e28937488e4e7432c5b262474eaa821580 100755 (executable)
--- a/git-svn.perl
+++ b/git-svn.perl
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;
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;