git-svn: detect cherry-picks correctly.
The old function was incorrect; in some instances it marks a cherry picked range as a merged branch (because of an incorrect assumption that 'rev-list COMMIT --not RANGE' would work). This is replaced with a function which should detect them correctly, memoized to limit the expense of dealing with branches with many cherry picks to one 'merge-base' call per merge, per branch which used cherry picking. Signed-off-by: Sam Vilain <sam@vilain.net> Acked-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
@ -15,13 +15,13 @@ test_expect_success 'load svn dump' "
|
||||
git svn fetch --all
|
||||
"
|
||||
|
||||
test_expect_failure 'all svn merges became git merge commits' '
|
||||
test_expect_success 'all svn merges became git merge commits' '
|
||||
unmarked=$(git rev-list --parents --all --grep=Merge |
|
||||
grep -v " .* " | cut -f1 -d" ")
|
||||
[ -z "$unmarked" ]
|
||||
'
|
||||
|
||||
test_expect_failure 'cherry picks did not become git merge commits' '
|
||||
test_expect_success 'cherry picks did not become git merge commits' '
|
||||
bad_cherries=$(git rev-list --parents --all --grep=Cherry |
|
||||
grep " .* " | cut -f1 -d" ")
|
||||
[ -z "$bad_cherries" ]
|
||||
|
Reference in New Issue
Block a user