From: Junio C Hamano Date: Thu, 07 Mar 2013 00:04:49 GMT Subject: Re: [PATCH] In partial SVN merges, the ranges contains additional character "*" Message-ID: <7vppzcnkgu.fsf@alter.siamese.dyndns.org> In-Reply-To: <000001ce1ab2$903fbc40$b0bf34c0$@certicon.cz> Jan Pešta writes: > See http://www.open.collab.net/community/subversion/articles/merge-info.html > Extract: > The range r30430:30435 that was added to 1.5.x in this merge has a '*' > suffix for 1.5.x\www. > This '*' is the marker for a non-inheritable mergeinfo range. > The '*' means that only the path on which the mergeinfo is explicitly set > has had this range merged into it. > > Signed-off-by: Jan Pesta > --- > perl/Git/SVN.pm | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm > index 0ebc68a..74d49bb 100644 > --- a/perl/Git/SVN.pm > +++ b/perl/Git/SVN.pm > @@ -1493,6 +1493,11 @@ sub lookup_svn_merge { > my @merged_commit_ranges; > # find the tip > for my $range ( @ranges ) { > + if ($range =~ /[*]$/) { > + warn "W:Ignoring partial merge in svn:mergeinfo " > + ."dirprop: $source:$range\n"; > + next; > + } > my ($bottom, $top) = split "-", $range; > $top ||= $bottom; > my $bottom_commit = $gs->find_rev_after( $bottom, 1, $top );