Я начал проект MVC4 с открытым исходным кодом, который использует какой-то другой проект с открытым исходным кодом в качестве зависимости. Я разветкил другой проект и буду модифицировать его в соответствии с моими потребностями. Проблема, с которой я сталкиваюсь, заключается в том, как поддерживать эти проекты в зависимости друг от друга, но поддерживаться отдельно. Тем не менее, люди, которые git тянут мой проект, также получат проект зависимости?
- Я могу заблокировать весь связанный код из другого проекта в моем репозитории, но таким образом я не смогу внести вклад в вилку зависимого проекта. Я просто стану частью моего репозитория. Не хочу этого делать.
- Я могу полностью сохранить другой проект и скопировать файлы *.dll в свой проект. И зафиксируйте зависимые файлы dll в git. Это хорошо, но я теряю способность разрабатывать два проекта одновременно, а также вступать в зависимый код при отладке (ну, может быть, нет, если копировать файлы *.pdb)
- Как и в случае с пунктом 2, я могу создавать пакеты nuget из зависимого проекта и добавлять их в свой основной проект - опять же, не может реально разрабатывать оба проекта одновременно, нужно переключать контексты.
- С некоторой магией есть файл решения, который объединяет проекты из моего репозитория и из зависимого репозитория. На каждую сборку, скопируйте файлы dll в папку /lib и скопируйте их. Таким образом, мне не нужно переключать контексты между отдельными проектами. Но недостатком является то, что другие участники git тянут мой проект, они не получают зависимого проекта, и файлы решений, вероятно, будут разбиты на них, потому что это будет ссылка на проект, который не находится в репо.
Как вы упорядочиваете свой код в этом случае?