Контроль исходного кода для нескольких проектов / решений с общими библиотеками - PullRequest
1 голос
/ 25 сентября 2008

В настоящее время я работаю над проектом по преобразованию ряда рабочих книг Excel VBA в решения VSTO. Все книги будут совместно использовать несколько библиотек классов и сторонних сборок, фактически большая часть работы выполняется в библиотеках классов. В настоящее время структура папок у меня выглядит следующим образом.

Base
    Libraries  
    Assemblies  
    Workbooks  
        Workbook1  
        Workbook2  

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

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

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

Я был бы признателен, если бы у вас была свежесть.

Дополнительная информация: В настоящее время я использую Mercurial лично, но проект, вероятно, будет перенесен в StarTeam, если я не смогу привести убедительные аргументы для чего-то другого.

1 Ответ

1 голос
/ 25 сентября 2008

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

Все зависит от того, какие функции поддерживает ваша система контроля версий. В Subversion вы можете объявить другие папки как внешние и указать URL-адрес файла для содержимого этой папки, что приведет к тому, что Subversion будет работать с этой папкой как с отдельным репозиторием, даже если он находится в структуре вашей папки.

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