Я должен сохранить все проекты в одном репозитории или нескольких?

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

Я задавался вопросом, это будет хорошая идея для меня только для перемещения их всех в один большой репозиторий, и их разделили на папки проекта? Что все остальные делают?

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

Спасибо.

38
задан roalz 8 March 2017 в 13:00
поделиться

11 ответов

Зависит до степени, что Вы подразумеваете под "проектом".

у меня есть общий локальный репозиторий, содержащий случайные биты материала, который я пишу (включая мой веб-сайт, так как это является маленьким). Однопользовательский локальный репозиторий SVN не собирается переносить значимые проблемы производительности, пока Вы не провели много лет, введя. Которым временем SVN будет быстрее так или иначе. Таким образом, я должен все же сожалеть бросавший все в один репозиторий, даже при том, что часть материала там абсолютно не связана кроме этого, я записал все это.

, Если "проект" означает "присвоение от класса", или "сценарии, я использую для управления моим TiVo", или "моим успехом изучения нового языка", затем создавание repos на проект кажется немного ненужным мне. С другой стороны это ничего не стоит также. Таким образом, я предполагаю, что сказал бы, не изменяют то, что Вы делаете. Если Вы действительно не хотите опыта реорганизации репозиториев, в этом случае делают изменение, что Вы делаете:-)

Однако, если "проектом" Вы имеете в виду 'реальный' проект программного обеспечения с открытым доступом в репозиторий, тогда я думаю, что отдельный repos на проект - то, что имеет смысл: частично, потому что это делит вещи чисто, и каждый проект масштабируется независимо, но также и потому что это - то, что люди будут ожидать видеть.

Совместное использование кода между отдельными репозиториями является меньшим количеством проблемы, чем Вы могли бы думать, так как svn имеет довольно прекрасную "svn:externals" функцию. Это позволяет Вам указать на каталог своего репозитория в каталоге в другом репозитории и проверить тот материал автоматически наряду с Вашим материалом. Посмотрите, как всегда, книга SVN для деталей.

31
ответ дан Steve Jessop 27 November 2019 в 03:43
поделиться

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

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

8
ответ дан Svet 27 November 2019 в 03:43
поделиться

Мое эмпирическое правило должно консолидировать вещи, которые поставляются вместе. Другими словами, если Вы могли бы поставить проект X и проект Y отдельно, затем вставить их, разделяют repos.

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

6
ответ дан andy 27 November 2019 в 03:43
поделиться

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

5
ответ дан Steve Paulo 27 November 2019 в 03:43
поделиться

Лично я предпочитаю каждый проект в своем собственном репозитории

4
ответ дан paan 27 November 2019 в 03:43
поделиться

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

3
ответ дан Steve Pitchers 27 November 2019 в 03:43
поделиться

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

2
ответ дан Silver Dragon 27 November 2019 в 03:43
поделиться

Пока у каждого проекта есть / trunk / tags и / branch, вы хороши. Правильная непрерывная интеграция является здесь критерием.

0
ответ дан Matt Hinze 27 November 2019 в 03:43
поделиться

Да, поместите все в управление исходным кодом.

при использовании SVN сохраните проекты в их собственном репозитории - svn, является медленным, и становится медленнее.

0
ответ дан Marcin 27 November 2019 в 03:43
поделиться

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

0
ответ дан Dima 27 November 2019 в 03:43
поделиться

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

Однако, когда я начинаю перенос своих проектов в Mercurial, я переключился на создание репозитория для каждого проекта, потому что для создания нового на месте требуется только «hg init», и я могу использовать расширение hg forest для простого выполнения операций над вложенными репозиториями. В Subversion есть svn: externals, которые несколько похожи, но требуют больше административных затрат.

0
ответ дан Nicholas Riley 27 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: