Вернуться к пересмотру в Subversion

Предположим, что вы обновили свой код до версии 10, которая сломана. Вы хотите вернуться к ревизии 9, работать над кодом и ждать, пока кто-то исправит сборку.

Как?

svn merge -rHEAD:9 .

не будет работать. Вы знаете, почему:).

Спасибо заранее, Etam.

Ответ 1

Если вы просто хотите вернуться к другой версии, update - это то, что вы ищете:

svn update -r 9

Вы можете работать с кодом, но вы не можете совершать изменения. Ну, если в редакции 10 не изменился тот же файл, который вы изменили, вы могли бы совершить, но это лучше, если вы ждете исправления 10, чтобы быть исправленным.

Вместо этого, если вы хотите продолжить работу и работать над кодом, вы можете подумать о создании ветки из ревизии 9, продолжить работу в ветке и реинтегрировать ветвь в магистраль, если исправлена ​​ревизия 10.

Ответ 2

Если вы действительно не хотите возвращаться с помощью команды merge, вы всегда можете просто проверить предыдущую версию, передав опцию -r для проверки.

svn checkout http://yoursite/svn -r 9

Когда кто-то исправляет ревизию 10 и совершает 11, вы можете нормально обновить и слить свои изменения из своей локальной копии r9. Просто разрешите конфликты нормально, а затем зафиксируйте 12.

Ответ 3

Лучше всего создать ветку из ревизии 9 и продолжить работу над этой веткой. Когда вы уверены, что соединительная линия готова к вашим изменениям (то есть она исправлена), объедините свою ветку.

Ответ 4

svn update -r version-number, этот метод отлично работает для меня, поскольку мне пришлось вернуться. но помните, чтобы зафиксировать изменения, чтобы убедиться. ОК