Возврат файла и его фиксация снова не показывает изменений

У меня есть файл, который в настоящее время находится в ревизии X. Я хотел бы вернуть его в ревизию X-1 и зафиксировать его как X-1. Однако, когда я получаю предварительный просмотр коммита для X-1, SVN (в данном случае я использую Tortoise) говорит, что изменений нет. Как это может быть? И как мне зафиксировать возвращенный файл?

1 ответ

Я не уверен, что читаю слишком много в формулировке вашего вопроса, но у вас может быть неправильное понимание того, как работает SVN, а также что такое команда "вернуть".

Во-первых, команда "вернуться" предназначена только для того, чтобы избавиться от изменений, которые вы еще не совершили. Отменяет любые изменения, которые вы видите с svn status или TortoiseSVN "проверить наличие изменений". Ничего более.

Во-вторых, невозможно зафиксировать ревизию меньше, чем текущая ревизия. В SVN файлы не имеют ревизий. У ревизий есть файлы. И номера ревизий всегда идут вверх, а не вниз. Думайте о пересмотре в SVN как о снимке во времени ВСЕХ в хранилище. Технически, вы должны сказать "файл foo, как он существовал в ревизии 123", а не "ревизия 123 файла foo". Последнее не совсем правильно и может сломаться в некоторых ситуациях.

Наконец, похоже, вы пытаетесь удалить некоторые изменения в файле. Вы делаете это путем создания НОВОЙ ревизии файла, используя концепцию "обратного слияния". Из командной строки вы выполняете слияние файла, указывая отрицательную версию или диапазон обратных версий, чтобы отменить изменения в этих версиях. Затем вы можете зафиксировать получение новой ревизии, содержащей ваш файл, с обратными изменениями. TortoiseSVN делает это легко: просто откройте диалоговое окно "Показать журнал", щелкните правой кнопкой мыши ревизию, которую вы хотите отменить, и выберите "отменить изменения из этой ревизии". Тогда вам нужно будет совершить как и раньше.

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

Другие вопросы по тегам