Откат записей истории Subversion

Сегодня я попытался загрузить предыдущую версию своего проекта из subversion (ревизия #140), только чтобы обнаружить, что в версии 120 произошла плохая фиксация: попытка загрузить любую версию проекта начиная с версии 120 приводит к отсутствующим файлам и т. Д. Таким образом, ревизии 120+ бесполезны.

Тем не менее, у меня все еще есть полностью исправная рабочая копия того, что планировалось выпустить в редакцию 141 в Visual Studio.

Я чертовски незнаком с командами SVN и не хочу разбираться с этим! Какова была бы лучшая стратегия, чтобы вернуть хранилище в работоспособное состояние и привести версию HEAD в соответствие с моей рабочей копией /141?

Я использую АнхСВН 2.3 в VS2010. Сервер не локальный, но у меня есть доступ к командной строке SVN.

Спасибо!

ps Я предполагаю, что потеряю ревизии 120-140: это нормально, если коммит 141 применяет все чистые изменения, сделанные в 120-140.

2 ответа

Решение

Я не уверен, что вы подразумеваете под плохой фиксацией, но вы можете рассмотреть возможность выполнения "обратного слияния", которое будет представлять собой версию 141, и вы обновите свою рабочую копию и получите ее как версию 142.

Зависит от вашего SVN-клиента, есть более простой способ добиться этого. В Tortoise SVN вы можете открыть журнал, выбрать Rev 119, щелкнуть правой кнопкой мыши и выбрать "Вернуться к этой версии"

Если вы используете командную строку, извлеките отдельную рабочую копию, перейдите к рабочей копии и выполните обратное слияние

svn merge -r HEAD:119 http://your_svn_url

Вы можете прочитать http://svnbook.red-bean.com/ в главе "Отменить изменения".


обновлено: я опечатал 119 как 199

Средство просмотра истории AnkhSVN имеет опцию "Вернуть изменения из этой ревизии" и "Вернуться к этой ревизии", которые автоматически обрабатывают эти сценарии.

Для r119 Отменить изменения из этой ревизии эквивалентно svn merge -c -r119 http://your_svn_url (-c r119 эквивалентен -r 119:118)

Возврат к этой ревизии эквивалентен svn merge -r HEAD:119

Другие вопросы по тегам