Структура управления исходным кодом для прототипа и реальной реализации - PullRequest
0 голосов
/ 27 марта 2009

Как мы должны структурировать проект в системе контроля версий с помощью прототипа + «реальной» реализации приложения?

Мы работаем над прототипом для нового проекта и храним его в системе контроля версий (Subversion, но вопрос должен быть независимым от этого) со следующей структурой в нашем главном хранилище со всеми нашими проектами:

[ProjectName]/
  trunk/
    src/
      UIPrototype/
  branches/
  tags/

Вместе со стажером мы работаем над дизайном доменной логики и планируем начать реализацию доменной логики на следующей неделе.

Мы подумали о следующих возможностях:

  • совершенно отдельный репозиторий (стажер имеет несколько недель опыта работы с системой контроля версий / Subversion)

  • отдельный проект в нашем основном хранилище

  • ветвь (например, branches/prototype) в рамках существующего проекта для прототипа, а затем используйте trunk для «реальной» реализации

Какую структуру вы бы порекомендовали для этой ситуации?

Ответы [ 3 ]

3 голосов
/ 27 марта 2009

Проведя несколько лет в качестве менеджера SCM в крупном программном отделе с несколькими программами, я рекомендую создать филиал по следующим причинам:

  1. Если прототип не работает, вы можете позволить ветви умереть в этой точке.

  2. Если прототип работает, вы можете объединить его обратно в магистраль для первичной разработки

  3. Вы можете продолжить работу над прототипом, если необходимо начать работы над основным проектом

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

1 голос
/ 27 марта 2009

У нас есть дерево приложений, и есть каталоги, помеченные как «внутренние», в которых указаны вещи, не предназначенные для отправки. Таким образом, могут быть разработаны как прототипы, так и внутренние инструменты. Кроме того, код прототипа всегда удобен для справки, когда мы начинаем «живой» проект следующего поколения, основанный на нашем опыте с прототипом.

1 голос
/ 27 марта 2009

То, что мы делаем, - это отдельный репозиторий, называемый прототипами, куда мы помещаем все наши проекты test / play / эксперимент / prototype. Если что-то стоит, мы перемещаем это в свой собственный репозиторий.

...