Skip to content

Commit 9ee13a9

Browse files
stoklundEric Wong
authored andcommitted
git-svn: only look at the root path for svn:mergeinfo
Subversion can put mergeinfo on any sub-directory to track cherry-picks. Since cherry-picks are not represented explicitly in git, git-svn should just ignore it. Signed-off-by: Jakob Stoklund Olesen <[email protected]> Signed-off-by: Eric Wong <[email protected]>
1 parent abfef3b commit 9ee13a9

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

perl/Git/SVN.pm

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1210,7 +1210,7 @@ sub do_fetch {
12101210
unless ($self->ra->gs_do_update($last_rev, $rev, $self, $ed)) {
12111211
die "SVN connection failed somewhere...\n";
12121212
}
1213-
$self->make_log_entry($rev, \@parents, $ed, $last_rev);
1213+
$self->make_log_entry($rev, \@parents, $ed, $last_rev, $self->path);
12141214
}
12151215

12161216
sub mkemptydirs {
@@ -1859,21 +1859,18 @@ sub make_log_entry {
18591859
my $untracked = $self->get_untracked($ed);
18601860

18611861
my @parents = @$parents;
1862-
my $ps = $ed->{path_strip} || "";
1863-
for my $path ( grep { m/$ps/ } %{$ed->{dir_prop}} ) {
1864-
my $props = $ed->{dir_prop}{$path};
1865-
if ( $props->{"svk:merge"} ) {
1866-
$self->find_extra_svk_parents
1867-
($ed, $props->{"svk:merge"}, \@parents);
1868-
}
1869-
if ( $props->{"svn:mergeinfo"} ) {
1870-
my $mi_changes = $self->mergeinfo_changes
1871-
($parent_path || $path, $parent_rev,
1872-
$path, $rev,
1873-
$props->{"svn:mergeinfo"});
1874-
$self->find_extra_svn_parents
1875-
($ed, $mi_changes, \@parents);
1876-
}
1862+
my $props = $ed->{dir_prop}{$self->path};
1863+
if ( $props->{"svk:merge"} ) {
1864+
$self->find_extra_svk_parents
1865+
($ed, $props->{"svk:merge"}, \@parents);
1866+
}
1867+
if ( $props->{"svn:mergeinfo"} ) {
1868+
my $mi_changes = $self->mergeinfo_changes
1869+
($parent_path, $parent_rev,
1870+
$self->path, $rev,
1871+
$props->{"svn:mergeinfo"});
1872+
$self->find_extra_svn_parents
1873+
($ed, $mi_changes, \@parents);
18771874
}
18781875

18791876
open my $un, '>>', "$self->{dir}/unhandled.log" or croak $!;

0 commit comments

Comments
 (0)