Skip to content

Commit

Permalink
git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges
Browse files Browse the repository at this point in the history
SVN's list of commit ranges in mergeinfo tickets is inclusive, whereas
git commit ranges are exclusive on the left hand side.  Also, the end
points of the commit ranges may not exist; they simply delineate
ranges of commits which may or may not exist.  Fix these two mistakes.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
  • Loading branch information
Sam Vilain authored and Eric Wong committed Dec 21, 2009
1 parent 7d944c3 commit 33973a5
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 deletions.
12 changes: 3 additions & 9 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -3015,14 +3015,8 @@ sub lookup_svn_merge {
for my $range ( @ranges ) {
my ($bottom, $top) = split "-", $range;
$top ||= $bottom;
my $bottom_commit =
$gs->rev_map_get($bottom, $uuid) ||
$gs->rev_map_get($bottom+1, $uuid);
my $top_commit;
for (; !$top_commit && $top >= $bottom; --$top) {
$top_commit =
$gs->rev_map_get($top, $uuid);
}
my $bottom_commit = $gs->find_rev_after( $bottom, 1, $top );
my $top_commit = $gs->find_rev_before( $top, 1, $bottom );

unless ($top_commit and $bottom_commit) {
warn "W:unknown path/rev in svn:mergeinfo "
Expand All @@ -3031,7 +3025,7 @@ sub lookup_svn_merge {
}

push @merged_commit_ranges,
"$bottom_commit..$top_commit";
"$bottom_commit^..$top_commit";

if ( !defined $tip or $top > $tip ) {
$tip = $top;
Expand Down
2 changes: 1 addition & 1 deletion t/t9151-svn-mergeinfo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ test_expect_success 'svn non-merge merge commits did not become git merge commit
[ -z "$bad_non_merges" ]
'

test_expect_failure 'everything got merged in the end' '
test_expect_success 'everything got merged in the end' '
unmerged=$(git rev-list --all --not master)
[ -z "$unmerged" ]
'
Expand Down

0 comments on commit 33973a5

Please sign in to comment.