Первая часть вашего номера 2 будет работать. Так что да, создайте дамп там, где была введена ветка-нарушитель, и создайте новый репозиторий с ней. Затем, продолжая использовать дамп svnadmin и опцию --incremental, выведите дамп всех хороших ревизий между плохими ревизиями веток. Вот пример того, как будет выглядеть команда добавочного дампа:
svnadmin dump /path/to/repo --incremental -r 1234:2345
Продолжайте применять эти добавочные дампы к новому хранилищу. Это должно создать репозиторий без создания и исправления плохой ветки, сохраняющей, перемещающей и фиксирующей, и сохраняющей всю вашу историю для тех хороших ревизий, которые, как вы предложили, патч уничтожит.
В зависимости от того, сколько ревизий имеет плохая ветка, это очень много работы. В настоящее время это также единственный способ сделать это с версиями 1.6.x или более ранними версиями Subversion.
Теперь вот предостережение. Если в хороших ревизиях есть сообщения о фиксации, имеющие ссылку на номера ревизий, они будут отключены. Это не будет плохо, если их немного, но исправить их будет утомительно.