Есть ли способ работать с отдельными проектами (разделенными под контролем исходного кода) в одном решении? - PullRequest
0 голосов
/ 29 июля 2011

Итак, я создаю свой проект, используя систему управления исходным кодом git и используя некоторые библиотеки из других репозиториев. Но я также являюсь разработчиком этих библиотек, и я хочу отредактировать / отладить их в своем проекте, чтобы я мог добавить их в проект, не похожий на двоичную DLL, но и на другой проект.

Я нашел эту статью: Несколько проектов в решении против нескольких проектов в системе контроля версий

Но я работаю на Windows и обычно просто использую Tortoise Git. Я думаю, что будет очень сложно настроить его таким образом.

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

Может быть, кто-то уже встречал или даже решил такую ​​проблему, мне интересно узнать какие-либо решения и варианты для нее.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

В компании, в которой я работал, мы в конечном итоге поместили сами проекты в разные репо, что упростило управление ими, а не одним решением.Затем мы написали пакетный файл, чтобы просто собрать все части вместе и правильно скомпилировать их (просто скомпилировав компоненты Projects).Это может не сработать для всех, но это всего лишь предложение.

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

Также это можно использовать для того, чтобы команды работали только с указанным программным обеспечением и могли действительно общаться только с другими компонентами.Это отличный способ реализовать 3-уровневую / n-уровневую архитектуру, поскольку вы разделяете проекты и позволяете командам / разработчикам беспокоиться только о том, над чем они работают (на самом деле это не доказательство, но это помогает).

1 голос
/ 29 июля 2011

В нашей компании у нас обычно есть решение, состоящее из нескольких проектов, в основном десятков или нескольких десятков.Они приходят из разных репо, потому что некоторые из них - библиотеки общего назначения, фреймворки и т. Д. Мы, однако, используем SVN с плагином VS AnkhSVN, поэтому проблем с передачей изменений в более чем один репозиторий не возникает.

Я предполагаю, что вы должны проверить, могут ли плагины Git VS работать с реальными репозиториями в одном решении.Больше информации о плагинах Git VS здесь: Использование Git с Visual Studio

Кстати, согласно обсуждению «одно или несколько репо» - мы создаем одно репо для проекта.Так что, если есть несколько частей проекта, и некоторые из них существовали до и, скорее всего, будут продолжать работать после - их не следует размещать в репозитории проекта.Если в проекте родится что-то великое, и мы верим, что это переживет это - мы всегда можем перенести поддерево репо в независимое репозиторий SVN.

...