Как отменить обновление svn?

Я изменил файлы в своем рабочем каталоге и сделал обновление svn. Обновление было выполнено без конфликтов.

Я хотел бы иметь возможность вернуть содержимое рабочего каталога в состояние, которое было непосредственно перед обновлением svn.

причина в том, что я поддерживаю локальный репозиторий git параллельно с общим репозиторием svn. Я забыл git зафиксировать мои локальные изменения перед обновлением svn. Теперь мой рабочий каталог содержит локальные изменения, перепутанные с изменениями, вызванными обновлением svn. Если я зафиксирую, все изменения будут отображаться как одно атомарное изменение. Мне хотелось, чтобы они были разделены. Если бы я мог вернуть обновление и сохранить содержимое рабочего каталога, который у меня был до обновления svn, я мог бы это сделать.

5 ответов


это невозможно. Состояние перед обновлением забыто.

вы можете разделить изменения, сделав subversion diff, используя git apply чтобы применить его к индексу, зафиксируйте это (ваши изменения) и зафиксируйте все (изменения от pull).

это аварийное решение. Я предлагаю вам переключиться на git-svn, это будет обрабатывать такие вещи для вас в будущем.


Я продолжаю нажимать на этот вопрос, и на самом деле он не включает простой ответ на "Как отменить обновление svn?" вопрос.

Итак, в интересах других, с разрешимым случаем, когда вы просто хотите откатить обновление:

сначала проверьте журнал с:

svn log | less

Это даст вам ряд изменений (например,957), к которому вы хотите вернуться. Затем:

svn up -r 957

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


Это для пользователей linux.

предположим, что изменения следующие.

Глава - 20 Предыдущие изменения в голове - 18, 17, 15, 14, 10, 9,8.

перейдите в каталог src. Использовать svn merge-r 17: 18 $url

$url для вашей базы svn.


в случае, если во время обновления возникли какие-либо конфликты, в вашей корзине будет доступна копия вашего файла и файла ревизии