TortoiseSVN - Отмена возврата

Я хотел посмотреть (и не изменять) более старые версии нескольких файлов в моем репозитории, поэтому я пошел и вернул эти файлы. Теперь я пытаюсь вернуть эти файлы к самой последней версии, чтобы они соответствовали всем другим файлам в моей рабочей копии, но когда я обновляю папку, ничего не меняется.

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

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

Ответ 1

Я предполагаю, что вы использовали Revert для этого контекстного меню в диалоговом окне Show log. Несмотря на название, он действительно не выполняет операцию возврата, по крайней мере, в том смысле, как Subversion понимает этот термин. Фактически это то, что слияние изменений изменяется в вашей рабочей копии. Итак, теперь у вас есть несохраненные изменения в вашей рабочей копии, и Subversion пытается сохранить их при обновлении. Вы можете проверить это из диалога "Проверить наличие изменений": эти элементы должны отображаться как "Модифицировано".

Если это случай, вы можете отменить свои локальные изменения обычным способом: контекстное меню "Отменить" в вашей рабочей копии. На этот раз он выполнит настоящую операцию "вернуться".

В следующий раз, когда вы хотите проверить старые версии дерева каталогов, вы можете использовать контекстное меню "Обновить элемент в ревизии" в диалоговом окне журнала. Он будет выполнять обновление SVN, которое можно легко отменить.

Ответ 2

Нажмите Ctrl + Z в каталоге проекта, если вы не перезагрузили компьютер.

Ответ 3

В SVN есть только рабочая копия на вашем локальном компьютере и репозиторий на сервере. Используя revert, вы заменили содержимое локальной рабочей копии содержимым с сервера, и нет другого места, где SVN хранит копию этих файлов.

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

Но если вы хотите получить контроль над версиями, который намного более гибкий, посмотрите Git или Mercurial.

Ответ 4

Нет. Возвращение отменяет локальные изменения, о которых никогда не слышал репозиторий, поэтому нет возможности восстановить их там. TortoiseSVN, возможно, сохранит резервные копии для вас на стороне клиента, но не делает.

Обратите внимание, что это означает, что вы никогда не получите локальные изменения, которые не были зафиксированы, команда Update все равно должна получить последнюю версию из репозитория, а не старые версии, которые вы явно проверили ранее.

Ответ 5

Отменить возврат:
1. Щелкните правой кнопкой мыши → TortoiseSvn → Восстановить
2. Щелкните правой кнопкой мыши → Обновление SVN