2

На моей работе мы используем SVN. Я использую tortoisesvn на моем компьютере с Windows в качестве расширения оболочки Windows / проводника. Я поддерживал исходный файл * .c в SVN. Один из моих коллег внес некоторые изменения поверх моей версии и зарегистрировал ее, но не без полной проверки всех своих изменений! В результате этого код теперь нарушается для определенных тестовых случаев. Он сказал, что он не слил это должным образом при проверке изменений в SVN, отсюда и этот сбой. Без разницы! Есть другие команды, которые обновляют этот файл, так что это нарушит их работу.

  1. Что такое команда, чтобы вернуть этот конкретный файл в старую рабочую ревизию? (У него есть свои изменения локально, поэтому я бы не стал беспокоиться об этом)

  2. Если нет прямой команды сделать это, то каков теперь мой выход из этого беспорядка.

  3. Когда я читал, я слышал о чем-то «обратном слиянии». Что именно, и помогает ли мне, если да, то как?

4 ответа4

2

Вы также можете отменить объединение одного файла, щелкнув правой кнопкой мыши имя файла в окне «Сообщения журнала».

1

Вот обратное слияние. Это даст вам то, что вы хотите.

  1. Объедините ревизию, которая является неправильной, с ревизией, которую вы хотите, с вашей рабочей копией.
  2. Проверьте свой код
  3. Зафиксируйте файлы обратно в хранилище

Теперь у вас будет исправленная ревизия, но оставленная сломанная в репо.

Команда слияния принимает три параметра: первый источник, второй источник, путь к рабочей копии. Поскольку вы выполняете откат, у двух источников будет один и тот же путь, но разные номера ревизий. Более высокий номер ревизии идет первым.

Пример командной строки:

merge svn://example.com/repo/folder/changedFile.txt@HEAD svn://example.com/repo/folder/changedFile.txt@215 ./folder/changedFile.txt

Используйте кнопку "Показать журнал" в TortoiseSVN, чтобы легко найти ревизию.

0

Руководствуясь сообщениями о фиксации, вы должны иметь возможность загрузить предыдущую версию файла, которая не содержит изменений, которые испортили файл.

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

Загрузите файл с ВАШЕЙ последней регистрации, который должен содержать последний рабочий код перед изменениями. TortoiseSVN позволяет вам сделать это путем «проверки», указав номер ревизии, возможно, вам потребуется изучить репозиторий (с помощью обозревателя репозитория TortoiseSVN) и определить желаемый номер ревизии.

Это способ, которым я это делаю, раньше работал для меня :)

Надеюсь это поможет.

0

TortoiseSVN может сделать обратное слияние для вас. Перейдите на страницы журнала для проекта SVN, щелкните правой кнопкой мыши ревизию, на которую вы хотите изменить, и выберите «вернуться».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .