2009-07-16 3 views
1

Когда у вас есть несколько связанных проектов (идентифицируемые, автономные приложения, которые совместно используют библиотеки), как вы создаете структуру каталогов сервера SVN? По ветке> проект? По проекту> ветвь? Что-то совсем другое? Или лучше иметь один SVN-сервер для каждого проекта? (Примите во внимание, что некоторые проекты тесно связаны)Как организовать несколько проектов на одном сервере SVN?

+3

Что такое proyect? –

+0

Кажется, что нет какой-либо переписи, поскольку сервер/проекты/филиалы являются предпочтительной организацией до сих пор ... – voyager

+0

И рекомендуемый вариант использует разные SVN-серверы для каждого проекта и использует внешние. – voyager

ответ

10

Стандартная конвенция

  • project1
    • ветви
    • теги
    • ствол
  • project2
    • ветви
    • теги
    • ствол

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

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

+0

Поскольку я принимаю этот ответ, я предполагаю, что я должен добавить ссылку с информацией в «externals» http://svnbook.red-bean.com/en/1.0/ch07s03.html, так как это полезно для координации разных серверов. (Снято с http://stackoverflow.com/questions/1138628/how-do-you-arrange-several-projects-in-a-single-svn-server/1138717#1138717) – voyager

0

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

0

У нас настройки репозиториев для каждого проекта, таким образом, каждый из них может иметь свои собственные ветви/теги и т.д.

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

1
  • корень/ствол/projectfolders

  • корневые/филиалы/projectfolders

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

1

Для проектов, которые тесно связаны между собой, я рекомендую:

root > branch > project 

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

2

Этот вопрос получает a whole section in the SVN book. я бы рекомендовал, начиная там, и просить о чем-либо, что не делает ясным или специфичная для вашего проекта.

2

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

1

Как кто-то, кто поддерживает большие svn-репозиции, позвольте мне рассказать вам, НЕ используйте единый багажник. Это сделает все операции намного, намного медленнее. Помимо этого, извлечение одного проекта из более крупного репо - это не только утомительно и обидно, но и приведет к космическим отходам, когда вы в конечном итоге захотите очистить один проект даже от do.

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

Lazy не является адекватной заменой организованной.

+3

Вы говорите нам, что люди Apache на svn.apache.org/repos/asf - кучка дураков? – IlDan

+0

Я так сказал? Нет. Перестаньте быть задницей. – markh

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