Разрешить отложенные конфликты с SVN - PullRequest
24 голосов
/ 08 марта 2012

Я довольно новичок в командной строке SVN в командной среде. Я случайно отложил слияние ревизий. После выполнения:

svn status

Я получаю:

?       Trivial/Trivial.xcodeproj/project.pbxproj.mine
?       Trivial/Trivial.xcodeproj/project.pbxproj.r280
?       Trivial/Trivial.xcodeproj/project.pbxproj.r276

Однако я не знаю, как объединить эти изменения. В настоящее время я получаю сообщение об ошибке с сообщением XCode о невозможности анализа проекта Может кто-нибудь показать мне, как объединить эти ревизии?

Ответы [ 2 ]

29 голосов
/ 08 марта 2012

Эти файлы существуют, чтобы помочь вам запустить diff или 3-way merge.Основная версия файла будет содержать конфликтующий код, а также маркеры, окружающие конфликты.Так что другой вариант - просто отредактировать основной файл и найти эти маркеры.Разрешите конфликты и удалите маркеры.

Когда вы закончите, вы запустите команду вроде:

svn resolve --accept=working Trivial/Trivial.xcodeproj/project.pbxproj

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

См .: http://svnbook.red -bean.com / ru / 1.7 / svn.tour.cycle.html # svn.tour.cycle.resolve

11 голосов
/ 19 марта 2014

В продолжение принятого ответа доступны следующие четыре варианта разрешения:

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: для выбора версии файла, которую вы последний раз проверяли перед внесением изменений

работает: чтобы выбрать из ваших изменений и изменений, которые ваше обновление получило с сервера, объедините конфликтующий текст «вручную» (изучив и отредактировав маркеры конфликта в файле)

Надеюсьэто помогает в дальнейшем.

...