Как отменить обновление svn?
Я изменил файлы в своем рабочем каталоге и сделал обновление svn. Обновление было выполнено без конфликтов.
Я хотел бы иметь возможность вернуть содержимое рабочего каталога в состояние, которое было непосредственно перед обновлением svn.
Причина в том, что я поддерживаю локальный репозиторий git параллельно с общим хранилищем svn. Я забыл git зафиксировать свои локальные изменения перед выполнением обновления svn. Теперь мой рабочий каталог содержит локальные изменения, смешанные с изменениями, связанными с обновлением svn. Если я зафиксирую, все изменения будут отображаться как одно изменение атома. Я хотел бы, чтобы они были отдельными. Если бы я мог отменить обновление и сохранить содержимое рабочего каталога, которое у меня было до обновления svn, я мог бы это сделать.
Ответы
Ответ 1
Это невозможно. Состояние до обновления забыто.
Вы можете отделить изменения, выполнив diff с использованием subversion, используя git apply
, чтобы применить его к индексу, зафиксировать это (ваши изменения) и передать все (изменения из pull).
Это чрезвычайное решение. Я предлагаю вам перейти на git-svn
, который будет обрабатывать подобные вещи для вас в будущем.
Ответ 2
Я продолжаю сталкиваться с этим вопросом, и на самом деле он не включает простой ответ на вопрос "Как отменить обновление svn?". вопрос.
Итак, для других, с разрешимым случаем, когда вы просто хотите отменить обновление:
Сначала проверьте журнал:
svn log | less
Это даст вам номер версии (например, 957
), к которому вы хотите вернуться. Тогда:
svn up -r 957
Ответ 3
выполните "Обновление до версии", чтобы вы изменили свой локальный файл на стабильную версию и затем повторно зафиксировали. Таким образом вы теряете все локальные изменения.
Ответ 4
Это для пользователей Linux.
Предположим, что следующие изменения.
Голова - 20
Предыдущие изменения в главе - 18, 17, 15, 14, 10, 9,8.
перейдите в каталог src.
использование
svn merge -r 17:18 $url
$url для вашей базы svn.
Ответ 5
В случае, если во время обновления возникли какие-либо конфликты, в вашем корзине будет копия файла вашего файла и версии.