SVN: Создать новый репо для каждого проекта или поместить все проекты в транк? - PullRequest
2 голосов
/ 02 сентября 2010

У нас есть два проекта, каждый из которых имеет два подпроекта. То, что у нас есть в SVN, на данный момент составляет 1 репо:

/SVN-REPO1/MainProj1/
    -trunk
    -branches
    -tags

Должен ли я вообще создать совершенно новый репозиторий и просто поместить MainProj2 в его собственный? Или я должен положить MainProj2 внутрь SVNREPO1?

Ответы [ 3 ]

3 голосов
/ 02 сентября 2010

Любой способ работает, но я считаю, что при работе в корпоративной команде разработчиков легче использовать второй подход (поместите MainProj2 в SVNREPO1). Я говорю это потому, что новым сотрудникам легче сказать, где что находится, и всем нужно всего лишь пойти в одно место, чтобы получить источник. Единственным недостатком может быть то, что ваш репо может стать очень большим, и ваша первоначальная загрузка может занять довольно много времени. Ничто не говорит о том, что вам нужно скачать все целиком за один раз, но если вы не собираетесь этого делать, у вас могут быть отдельные репозитории.

/SVN-REPO1
   /MainProj1/
      /trunk
      /branches
      /tags
   /MainProj2/
      /trunk
      /branches
      /tags
2 голосов
/ 02 сентября 2010

Я думаю, что это зависит от отношения между MainProj1 и MainProj2.Если они очень связаны, то используйте тот же репо.

Создание разных репо для каждого проекта удобно для отслеживания истории, слияния и ветвления независимо друг от друга.Вы все еще можете сделать это, если оба проекта находятся в одном репо, но их размещение в разных репо просто упрощает процесс.

Подумайте и о ремонтопригодности.Поддержание этого репозитория с двумя основными проектами с подпроектами может усложняться по мере роста проектов.

Если оба проекта не были тесно связаны друг с другом, я бы выбрал отдельные репозитории.

1 голос
/ 02 сентября 2010

Теперь вам нужно, чтобы, если вы используете один и тот же репозиторий, номер ревизии будет увеличиваться для всех проектов. Это затрудняет быстрое определение наличия новых коммитов в вашем проекте, просто следуя последнему номеру ревизии.

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

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

Меньшие блоки, хорошо соединенные между собой, часто проще в управлении. Если у вас есть хорошее программное обеспечение для управления проектами, создание репозиториев и управление правами доступа легко. Проверьте Svn Access Manager или Indefero , они делают это хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...