Може ли едно решение да поддържа проекти от множество хранилища?

Започнах да настройвам 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