Устранение отложенных конфликтов с SVN
Я новичок в командной строке SVN в командной среде. Я случайно отложил слияние версий. После выполнения:
svn status
Я получаю:
? Trivial/Trivial.xcodeproj/project.pbxproj.mine
? Trivial/Trivial.xcodeproj/project.pbxproj.r280
? Trivial/Trivial.xcodeproj/project.pbxproj.r276
Однако я не знаю, как объединить эти изменения. В настоящее время я получаю сообщение об ошибке, когда XCode говорит, что проект не может быть проанализирован. Может ли кто-нибудь показать мне, как объединить эти изменения?
Ответы
Ответ 1
Эти файлы существуют, чтобы помочь вам запускать разностные или трехсторонние слияния. Основная версия файла также содержит конфликтующий код с маркерами, окружающими конфликты. Таким образом, еще один вариант - просто отредактировать основной файл, выполнить поиск этих маркеров. Разрешите конфликты и удалите маркеры.
Когда закончите, вы запустите команду, например:
svn resolve --accept=working Trivial/Trivial.xcodeproj/project.pbxproj
Это приведет к удалению этих других файлов. Вы также увидите, что команда включает опции для разрешения конфликта, просто принимая все изменения из одного из этих файлов.
Смотрите: http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html#svn.tour.cycle.resolve
Ответ 2
В продолжение принятого ответа эти четыре параметра доступны при разрешении:
svn resolve --accept=mine-full Trivial/Trivial.xcodeproj/project.pbxproj
svn resolve --accept=theirs-full Trivial/Trivial.xcodeproj/project.pbxproj
svn resolve --accept=base Trivial/Trivial.xcodeproj/project.pbxproj
svn resolve --accept=working Trivial/Trivial.xcodeproj/project.pbxproj
base: чтобы выбрать версию файла, который вы последний раз проверили, прежде чем вносить изменения.
работа: выбирать и выбирать из ваших изменений и изменения, которые вы обновили с сервера, объединить конфликтный текст "вручную" (путем изучения и редактирования маркеров конфликта внутри файла)
Надеюсь, это поможет.