Cherry-pick commits showing up as merges
Some SVN commits where svn:mergeinfo is set to indicate particular revisions were cherry-picked, rather than a full merge of all previously unmerged changes from a given branch, are wrongly showing up as merge commits in git (meaning they get commits in their ancestry that should not be in their ancestry). SVN merge information should only turn into git merges if it indicates that every commit from a given branch up to some point has been merged (this is still possible with a discontiguous revision range, if the gaps have no commits on the branch merged from). Test attached. Convert with: reposurgeon "read <test.svn" "sourcetype svn" "prefer git" "rebuild test-git"
Note that in the converted repository, "Cherry-pick addition of baz." is a merge commit, meaning that "Add bar." is wrongly in its ancestry, despite bar not being present on somebranch.