2014-09-17 1 views
0

TL; DR Должны ли все части проекта среднего размера находиться в одном хранилище или каждая часть имеет собственное репо?Хранить проектные части в одном хранилище или разделяться на несколько

Я начинаю новый проект на C++ (но я думаю, что это язык не агностик), который будет состоять из нескольких частей. Server, Client - linux (в то время как клиенты также могут работать с p2p), Client - android, ...

Возможно, я поддерживаю Linux, windows и android для клиентов, только серверный Linux.

Я думаю, что это будет проект среднего размера. Наличие нескольких версий, выпущенных сразу, не важно для меня, текущая (и только поддерживаемая) версия будет транковой. Тем не менее, я использую функцию &.

И теперь, наконец, на мой вопрос. Должен ли я просто использовать один репо для всего этого? Я могу себе это немного упростить. И я не запускаю Kernel 2.0, там будет не так много файлов (надеюсь).

среда разработки будет ВИМ & Баш & CMake, если это отношение

Спасибо :)

ответ

2

Я хотел бы предложить каждую часть должна иметь свой собственный репозиторий.

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

Однако все будет изменено, если протокол стабилизируется. Развитие клиента и сервера становится совершенно независимым, и у них будет своя собственная цель. Например, вы планируете улучшить пользовательский интерфейс клиента, но выполняете небольшое изменение кода для производительности на сервере. Таким образом, у вас может быть много быстрых коммитов и частых выпусков на сервере, но это не влияет на развитие клиента. Независимая диаграмма git на каждой части дает вам четкое представление.

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

Фактически, как вы также знаете, нет правильного или неправильного. На мой взгляд, ключевым фактором является корреляция между частями и есть ли у них аналогичные/синхронизированные циклы выпуска.

+0

hm, тот факт, что скорость развития клиента и сервера будет дрейфовать во времени, совсем не произошла со мной. Вероятно, вы правы.Я должен думать о клиентах (один против множественного репо), но у вас есть точка, что клиент и сервер, вероятно, будут лучше разделены. Спасибо :) – Paladin

1

Для любой размер проекта с использованием нескольких частей или одной части рисунка больше вопрос

  • ремонтопригодности
  • разделения и распределения обязанностей, прав и полномочий

чем размер проекта

В вашей (довольно сложной) структуре многопозиционный хранилище (подзаголовок основанная на ree) представляется логичным и разумным решением

Смежные вопросы