Насколько я знаю, объединяющиеся алгоритмы не так более умны, чем алгоритмы в других системах управления версиями. Однако из-за распределенного характера мерзавца, нет никакой потребности в централизованных усилиях по слиянию. Каждый разработчик может повторно основывать или объединить небольшие изменения от других разработчиков в его дерево в любое время, таким образом конфликты, которые возникают, имеют тенденцию быть меньшими.
Поверхностный синтаксис проекта Xcode - это "plist старого стиля". Вы можете легко преобразовать его в список XML с помощью команды
plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj
. Обратите внимание, что это не «настоящий XML», а структура списка Mac OS X, выраженная в синтаксисе XML; он почти полностью состоит из словарей и массивов пар ключ-значение. Xcode прочитает представление XML, но преобразует его обратно в "список старого стиля" при открытии проекта.
Структура и взаимосвязь элементов в списке соответствуют структуре проекта. UUID используются для перекрестных ссылок на элементы между проектом и его целями, а также между проектом и пользовательскими файлами в оболочке проекта.
Ключ isa идентифицирует каждый тип объекта. PBXProject содержит объекты PBXFileReference, PBXGroup, PBXNativeTarget и PBXBuildConfiguration.
Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся настройки сборки для целей, а также другие параметры цели, такие как тип и имя цели.
buildConfiguration Список перекрестных ссылок buildConfigurations, которые, в свою очередь, содержат словари buildSettings.
Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.
Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся параметры сборки для целей, а также другие параметры цели, такие как тип и имя цели.
buildConfiguration Содержит перекрестные ссылки buildConfigurations, которые, в свою очередь, содержат словари buildSettings.
Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.
Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся настройки сборки для целей, а также другие параметры цели, такие как тип и имя цели.
buildConfiguration Список перекрестных ссылок buildConfigurations, которые, в свою очередь, содержат словари buildSettings.
Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.
которые, в свою очередь, содержат словари buildSettings.Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.
которые, в свою очередь, содержат словари buildSettings.Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.