2012-03-08 3 views
23

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

svn status 

я получаю:

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

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

ответ

28

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

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

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

+0

Когда вы закончите редактирование, вы можете просто использовать 'svn resolve' и нажать (r) для отметки разрешенной. – herman

11

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

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 

база: выбрать версию файла, который вы в последний раз проверил, прежде чем сделать ваши изменения

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

Я надеюсь, что это поможет.