Как пропустить ревизию в svn-репозитории

Скажем, у меня есть три последних версии файла aspx: 55, 56 и 57. В редакции 56 добавлена ​​функция, которую я хочу удалить, но я также хочу, чтобы новые функции были развернуты в версии 57. Есть ли способ слияния версии 55 с 57, оставляя ревизию 56 из изображения?

Если это имеет значение, я использую Tortoise SVN и Visual SVN, но я обычно использую Tortoise.

Спасибо за любые идеи.

Ответ 1

Если я следую вашему вопросу, похоже, вы хотите r57 минус r56. (т.е. включая изменения от r55 до r0)

командной строки:

svn merge <path_to_repo> . -c -56

Tortoise:
Показать журнал/щелкните правой кнопкой мыши ревизию 56 и выберите "Отменить изменения из этой версии"

Ответ 2

Показать журнал для этого файла. Выберите ревизии 55 и 57 (удерживайте клавишу ctrl для многоэкранного выбора). Щелкните правой кнопкой мыши, выберите "вернуть изменения из этих изменений". затем зафиксируйте.

Ответ 3

Я не думаю, что вы можете "пропустить ревизию". Имейте в виду, что Subversion хранит все эти данные в виде серии различий, и исключение одной ревизии сделает SVN несущественным относительно того, как применить следующий. Вы можете создать патч, который отменяет все, что было сделано в ревизии 56. Просто запустите

svn up
svn diff -r 55:56 > /tmp/r56.patch
patch -p1 < /tmp/r56.patch
svn -m "Undo changes from revision 56."