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

StackOverflow https://stackoverflow.com/questions/134490

Вопрос

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

Base
    Libraries  
    Assemblies  
    Workbooks  
        Workbook1  
        Workbook2  

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

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

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

Я был бы признателен вам за понимание, потому что я новичок.

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top