summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9a424b2)
raw | patch | inline | side by side (parent: 9a424b2)
author | Alex Vandiver <alex@chmrr.net> | |
Sun, 29 Nov 2009 07:20:21 +0000 (02:20 -0500) | ||
committer | Eric Wong <normalperson@yhbt.net> | |
Tue, 8 Dec 2009 04:25:40 +0000 (20:25 -0800) |
When merging branches based on svk:merge properties, a single merge
can have updated or added multiple svk:merge lines. Attempt to
include the minimal set of parents by sorting the merge properties in
order of revision, highest to lowest.
Signed-off-by: Alex Vandiver <alex@chmrr.net>
Acked-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
can have updated or added multiple svk:merge lines. Attempt to
include the minimal set of parents by sorting the merge properties in
order of revision, highest to lowest.
Signed-off-by: Alex Vandiver <alex@chmrr.net>
Acked-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl | patch | blob | history |
diff --git a/git-svn.perl b/git-svn.perl
index 957d44e63004cef131fca5c7dad75e7049d15842..51f03adb9ba41cb4b37158b4ea366f0444f9a3f9 100755 (executable)
--- a/git-svn.perl
+++ b/git-svn.perl
if ( my $commit = $gs->rev_map_get($rev, $uuid) ) {
# wahey! we found it, but it might be
# an old one (!)
- push @known_parents, $commit;
+ push @known_parents, [ $rev, $commit ];
}
}
}
+ # Ordering matters; highest-numbered commit merge tickets
+ # first, as they may account for later merge ticket additions
+ # or changes.
+ @known_parents = map {$_->[1]} sort {$b->[0] <=> $a->[0]} @known_parents;
for my $parent ( @known_parents ) {
my @cmd = ('rev-list', $parent, map { "^$_" } @$parents );
my ($msg_fh, $ctx) = command_output_pipe(@cmd);