]> granicus.if.org Git - git/commitdiff
git svn: ignore partial svn:mergeinfo
authorJan Pešta <jan.pesta@certicon.cz>
Thu, 7 Mar 2013 11:28:14 +0000 (12:28 +0100)
committerEric Wong <normalperson@yhbt.net>
Fri, 8 Mar 2013 09:46:03 +0000 (09:46 +0000)
Currently this is cosmetic change - the merges are ignored, becuase the methods
(lookup_svn_merge, find_rev_before, find_rev_after) are failing on comparing text with number.

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>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
perl/Git/SVN.pm

index 0ebc68ac7e64171acc52abe59063fec48ca3c129..46aeb85f6c9e4ba7f7f41039317dce779242814f 100644 (file)
@@ -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 );