[PATCH] In partial SVN merges, the ranges contains additional character "*"
- From
Jan Pešta <jan.pesta@certicon.cz>
- Date
- Mar 6, 2013, 21:35 UTC
- Message-ID
- <000001ce1ab2$903fbc40$b0bf34c0$@certicon.cz>
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 <jan.pesta@certicon.cz> --- 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 );
-- 1.8.1.msysgit.1