Я занимаюсь разработкой приложения для мобильных телефонов, которое нацелено на множество мобильных устройств на основе предлагаемых ими возможностей. Будет базовый набор функций, который должны поддерживать все телефоны, а затем появятся дополнительные функции, которые будут зависеть от определенного набора телефонов.
Как мне управлять такой кодовой базой с точки зрения системы контроля версий?
У меня есть опыт работы с CVS и VSS, но оба они не совсем соответствуют моим потребностям в приложениях такого типа. Последнее, что я хотел бы сделать, это ветвь код для каждого из этих наборов устройств.
Позвольте мне сделать это немного более понятным с помощью примера. Допустим, я разрабатываю приложение J2ME с использованием MIDP 2.0. Это базовый набор функций, который можно ожидать от всех телефонов, поддерживающих MIDP 2.0. Кроме того, я бы расширил это приложение для определенных наборов телефонов, используя их SDK. Например, Nokia S40, Nokia S60, Sony Ericsson, Blackberry и т. Д. Все эти функции предоставляют дополнительные функциональные возможности, которые позволяют создавать больше поверх базового приложения, и в большинстве случаев это влияет на всю кодовую базу от пользовательского интерфейса до базовой логики.
Один из способов достижения этого - использовать комбинацию системы сборки с флагами препроцессора и пытаться разделить различия настолько, чтобы не было слишком много зависимостей. Это может быть довольно сложно время от времени. Мне интересно, есть ли более простой способ справиться с этим, используя интеллектуальную систему контроля версий ...