Как пропустить ревизию в 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."