Вопрос: Каков наилучший способ поддерживать проект, основанный на другом проекте OSS, через Xcode и версию, управляемую SVN?
Я бы хотел запустить форк (?) Достаточно популярного проекта с открытым исходным кодом (это разрешено). В основном я хочу создать свой собственный пользовательский интерфейс, написанный на Cocoa / ObjC, и добавить несколько собственных функций.
Теперь этот проект OSS не совсем маленький. Сам проект содержит более 3000 файлов, и процесс сборки довольно интенсивный, состоящий из нескольких этапов и этапов, которые требуют компиляции инструментов сборки, их запуска и компиляции результатов.
Все это прекрасно и чудесно в Xcode, поскольку достаточно просто настроить фазы сборки и правила для обработки всего.
Что мне неясно, так это то, как лучше всего управлять патчами из апстрима. Они постоянно работают над проектом, и я бы хотел, чтобы эти патчи были в курсе, насколько это возможно, так как многие из файлов diff иногда создают до ста (!) Файлов одновременно.
Поэтому сохранение первичной неизмененной копии этого исходного дерева, чтобы я мог применять к ней патчи, кажется разумным, потому что я действительно не хочу сортировать сотни файлов каждые несколько недель, объединяя патчи вручную.
Что я думаю сделать в этом отношении:
1) Установите репозиторий SVN «вверх по течению» для хранения копии исходного источника плюс минимальный минимум, необходимый для его компиляции в Xcode (например, xcproject, несколько xcconfigs, некоторые заголовочные файлы префиксов и все)
2) Настройте мое собственное репозиторий SVN «вниз по течению», где я делаю всю свою работу и применяю свои собственные модификации.
Всякий раз, когда апстрим выпускает патч, я могу применить его к # 1, затем синхронизировать с # 2 и справиться с любыми проблемами, созданными моими собственными изменениями.
Что мне неясно, так это то, что это разумный способ справиться с вещами, или если есть какая-то лучшая практика, которой я должен следовать.
Это лучший способ справиться с ситуацией, или я должен смотреть на это как-то иначе?