Откат записей истории Subversion - PullRequest
0 голосов
/ 16 ноября 2011

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

Тем не менее, у меня все еще есть полностью исправная незафиксированная рабочая копия того, что планировалось сделать редакцией 141 в visual studio.

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

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

Спасибо!

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

Ответы [ 2 ]

3 голосов
/ 16 ноября 2011

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

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

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

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

Подумайте о прочтении http://svnbook.red -bean.com / в главе об отмене изменений


обновлено: я набрал 119 как 199

0 голосов
/ 04 февраля 2012

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

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

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

...