git-svn: exclude already merged tips using one rev-list call
authorSam Vilain <sam@vilain.net>
Sat, 19 Dec 2009 16:25:31 +0000 (05:25 +1300)
committerEric Wong <normalperson@yhbt.net>
Mon, 21 Dec 2009 10:32:52 +0000 (02:32 -0800)
commitea020cbd6aeb769d95e5c2dbffee4c81d6f92796
tree43ace88e0ce5ed8e259de4aed1022787640e50e5
parent33973a5b179278c563624fcb45c223f03031b242
git-svn: exclude already merged tips using one rev-list call

The old function would have to check all mentioned merge tips, every time
that the mergeinfo ticket changed.  This involved 1-2 rev-list operation
for each listed mergeinfo line.  If there are a lot of feature branches
being merged into a trunk, this makes for a very expensive operation for
detecting the new parents on every merge.

This new version first uses a single 'rev-list' to figure out which commit
ranges are already reachable from the parents.  This is used to eliminate
the already merged branches from the list.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl