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

Я начал настраивать репозитории SVN для хранения моего кода, и мне интересно, может ли одно решение Visual Studio иметь проекты из нескольких репозиториев. У меня есть общая библиотека с различными вспомогательными функциями, общими настраиваемыми элементами управления и т. Д., Которые используются несколькими проектами и размещены в собственном репозитории. Затем у меня есть репозиторий проекта, который содержит весь программный код, такой как формы и т. Д. Я знаю, что могу скопировать общую библиотеку в репозиторий программы, а затем скопировать их обратно, когда я внесу изменения, но я бы предпочел храните их в разных репозиториях, чтобы я мог нажать «Зафиксировать», и общая библиотека зафиксируется в этом репозитории, а программный код зафиксируется в нем. В настоящее время я использую AnkhSVN, но если это возможно с другими инструментами, я изучу его.


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


person dlras2    schedule 10.06.2010    source источник


Ответы (2)


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

Чтобы изменить или добавить это свойство, вы можете использовать командную строку svn или TortoiseSVN. Более подробную информацию о самом свойстве svn: externals вы найдете в красной книге Subversion.

person David M    schedule 10.06.2010
comment
Я новичок в SVN - не могли бы вы дать мне еще немного инструкций? Могу ли я добавить svn:externals через VS в .sln или с помощью другого инструмента? Тогда как мне привлечь другие проекты? Единственные варианты, которые я вижу, открывают для других проектов новые решения. - person dlras2; 10.06.2010
comment
У меня все еще возникают проблемы с добавлением проектов в Visual Studio через AnkhSVN. - person dlras2; 10.06.2010

Как говорит Дэвид, это возможно.

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

person Sander Rijken    schedule 10.06.2010