Как справиться с брендами приложений / небольшими изменениями графического интерфейса в SVN? - PullRequest
1 голос
/ 11 июля 2011

У нас есть мобильное приложение, которое мы хотим предложить нескольким (B2B) клиентам.Приложение будет опубликовано для конечных пользователей от их имени, но вся разработка будет сделана нами.

Пока что мы создали прототип приложения.Этот будет всегда приниматься как основной и подвергаться ребрендингу и, возможно, незначительной функциональной модификации, чтобы в итоге стать конкретной версией для конкретного клиента.В конечном счете, будет иметься несколько вариантов приложения-прототипа.

В приложении-прототипе будут разработаны функции и исправления, и мы хотим использовать SVN для объединения этих изменений в конкретные клиентские приложения.У каждого конкретного приложения будет свой жизненный цикл и версия для каждого.

Должны ли мы использовать ветки, разные репозитории с наборами изменений, ...?Может ли кто-нибудь дать нам представление о том, как нам организовать наш репозиторий SVN, чтобы включить это?

1 Ответ

0 голосов
/ 11 июля 2011

Если каждая конкретная установка будет иметь свой собственный жизненный цикл и управление версиями, то вам потребуется возможность разветвлять и маркировать каждую из них независимо.Тем не менее, чтобы упростить объединение изменений из прототипа в каждую конкретную версию, все версии должны находиться в одном и том же хранилище.

Поэтому я бы построил хранилище в соответствии с:

 Prototype
    Branches
    Tags
    Trunk
 SpecificTypeA
    Branches
    Tags
    Trunk
 Common
    Branches
    Tags
    Trunk   

Еслиесть любой общий код, который применяется ко всем установкам (т. е. код с белой меткой), тогда я бы сохранил его в отдельном (общем) репозитории и ввел dll через внешние SVN.

 SpecificTypeA
     Trunk
        Src
        ExtLib*

Где ExtLib представляетссылка на конкретную помеченную ревизию общего кода.

По сути, сохраняйте столько кода, сколько требуется в ветвях Prototype / Specific Version.

...