Ответ 1
Ниже приведена ссылка на svn, в которой рассказывается о возвратах и истории.
Чтобы сделать diff, вы сделали бы что-то вроде svn diff -r 4: 5 somefile.txt
Я использую различные системы управления версиями некоторое время, но когда дело доходит до исправления изменений, я еще не эксперт. Может кто-то помочь с учетом этого сценария:
Я ожидаю, что должен быть способ сравнить версии №4 и №5 двух файлов и создать патч, который отменяет изменения в редакции № 5, которые затем могут быть применены к ревизии HEAD для отката дефекта.
Ниже приведена ссылка на svn, в которой рассказывается о возвратах и истории.
Чтобы сделать diff, вы сделали бы что-то вроде svn diff -r 4: 5 somefile.txt
Обычно обратное слияние будет достаточно, чтобы отменить зафиксированные изменения...
Чтобы узнать подробности, см. svn manual - Отмена изменений
Как описано в знаке, вы хотите сделать:
svn merge -r 5: 4 file1 file2
Это означает слияние при изменении от 4 до 5 назад, т.е. отменить изменения
Вы также можете ввести:
svn merge -c -5 file1 file2
Это означает применение изменений, которые произошли при передаче ревизии 5 назад.
Затем вы должны вручную просмотреть изменения.
Наконец, вы должны зафиксировать изменения (выше слияния изменилась только ваша рабочая копия).
Я предполагаю, что вы используете TortoiseSVN в своем ответе.
Я не думаю, что ваш сценарий приведет к откату файлов, потому что вы все равно хотите сохранить историю каждого файла. В большинстве случаев то, что вы собираетесь делать, это просто найти и исправить ошибку и внести новое изменение в этот файл.
Если вы хотите сравнить две версии, это довольно легко в tortoiseSvn, щелкните правой кнопкой мыши на файле, затем зайдите в TortoiseSvn- > Show Log. Затем выберите обе версии, которую вы хотите сравнить, щелкните правой кнопкой мыши и затем сравните версии.
Если вы хотите найти, кто несет ответственность за ошибку, вы можете использовать пункт меню Blame в TortoiseSVN... Это позволит вам узнать, кто изменил каждую строку и в какой версии.
О, и если вы хотите вернуть файл обратно в предыдущую версию, вы можете сделать это в TortoiseSvn- > Show Log, затем вы выберете версию, к которой хотите вернуться, щелкните правой кнопкой мыши и выберите "Вернуться к этой версии".
Я бы пошел с ответом Этьена. Но под "Вернуть к этой ревизии" есть также опция "Отменить изменения из этой ревизии". Этот вариант идеально подходит Роберту Уокеру, который должен отменить изменения из версии № 5. Не забудьте зафиксировать изменения.
проверить текущую версию, затем svn merge -r 5: 4 file1 file2 (что из памяти, и может быть не совсем правильно)
Я думаю, вам нужно сначала свернуть слияние между 5: 4, а затем вернуть правильный файл
svn merge -r 5: 5 http://svn.example.com/repos/calc/trunk
svn вернуть правильный файл
вы, вероятно, попадаете в странное состояние в файлы 2buggy Это можно с надеждой решить вручную.
Если вы используете http://tortoisesvn.tigris.org/, то это довольно простой процесс. Просто щелкните правой кнопкой мыши по файлу и выберите "журнал", чтобы получить список изменений между теперь и выбранной реверсией. Затем нужно переустановить два файла в редакции № 4 и внести изменения:)