I suggest adding a InterBranchBzrDir multimethod class. Given (br_from, None) it can return a helper which does the new-everything case, given (br_from, bzrdir) it can do the add-branch-to-repo case etc, and given(br_from, svnbzrdir) it can do bzr svn's specific logic.
I suggest adding a InterBranchBzrDir multimethod class. Given (br_from, None) it can return a helper which does the new-everything case, given (br_from, bzrdir) it can do the add-branch-to-repo case etc, and given(br_from, svnbzrdir) it can do bzr svn's specific logic.