Еще вопрос по солюшены в хранилищах
От: hyp1k Россия  
Дата: 15.05.15 14:27
Оценка:
Есть проект (solution в студии) там хранится всё: утилиты для деплоя, тесты, модули бэкенда, клиентский код, общие библиотеки. Проект залит в гит, все удобно и хорошо. Все удобно и хорошо было, до того момента как понадобилось дорабатывать проект и нанимать фрилансеров. Например, клиентский код я раздаю прямо через гитхаб, фрилансер фронтендер делает фичу, заливает изменения, я их переношу в проект.

Теперь хочу подключить еще бэкэндщика и дать ему то, что нужно развивать в сорцах остальное в dll виде и исключив остальные проекты из солюшена.

Как это сделать 2 мелких репозитория, для фронтенд фрилансеров и бэкенд фрилансеров и по коммитам в мелких автоматизированно собирать в 1 главный?
git visual studio
Re: Еще вопрос по солюшены в хранилищах
От: xednay89 Россия  
Дата: 17.05.15 12:33
Оценка: +1
Здравствуйте, hyp1k, Вы писали:

H>Как это сделать 2 мелких репозитория, для фронтенд фрилансеров и бэкенд фрилансеров и по коммитам в мелких автоматизированно собирать в 1 главный?


git submodules + nuget
Re[2]: Еще вопрос по солюшены в хранилищах
От: hyp1k Россия  
Дата: 19.05.15 11:22
Оценка:
Здравствуйте, xednay89, Вы писали:
X>git submodules + nuget
Про гит сабмодулес понял, спасибо. Также и subtree меня спасет, стоит задуматься, чем воспользоваться.

Не понимаю как использовать nuget в данном случае. Опишу более подробно.

1. Допустим есть репозиторий с тремя папками A,B,C. При этом А зависит от B, B зависит от C.
2. Допустим я хочу отдать на доработку проект из папки B. Поскольку он зависит от C, нужно отдать и C.
3. Таким образом второй репозиторий, который будет мерджиться через subtree или submodule, будет содержать B и C.
В моем конкретном случае мне не жалко отдать C. И мне подойдет этот вариант.

НО теоретически, если я не хочу оставлять исходники C во втором репозитории. А хочу раздавать только бинарники C, например, через nuget. (можно ли через nuget это сделать пока не понял)

Допустим если ДА такое можно сделать. То у меня уточняющий вопрос:
С точки зрения разработчика, которому я не доверяю, выкачав второй репозиторий (с папкой B) студия подкачает через nuget бинарники C. Все окей идем дальше..
С моей точки зрения, как пользователя основного репозитория: Выкачав основной репозиторий, проект B будет все также обращаться за бинарниками С через nuget, а я хочу чтобы он смотрел уже локальный проект C.
Понимаете о чем я? Есть такая проблема?
Re: Еще вопрос по солюшены в хранилищах
От: Mr.Delphist  
Дата: 30.07.15 11:31
Оценка:
Здравствуйте, hyp1k, Вы писали:

H>Есть проект (solution в студии) там хранится всё: утилиты для деплоя, тесты, модули бэкенда, клиентский код, общие библиотеки. Проект залит в гит, все удобно и хорошо. Все удобно и хорошо было, до того момента как понадобилось дорабатывать проект и нанимать фрилансеров. Например, клиентский код я раздаю прямо через гитхаб, фрилансер фронтендер делает фичу, заливает изменения, я их переношу в проект.


H>Теперь хочу подключить еще бэкэндщика и дать ему то, что нужно развивать в сорцах остальное в dll виде и исключив остальные проекты из солюшена.


H>Как это сделать 2 мелких репозитория, для фронтенд фрилансеров и бэкенд фрилансеров и по коммитам в мелких автоматизированно собирать в 1 главный?


Разделяете всё это на отдельные папки вообще. Хотите — в одном репо, хотите — в разных, не суть. Берёте простую либу, объявляете её состояние "релизом 1.0" (с метками, бранчами — как там принято в Вашей SCM, не суть, лишь бы зафиксировать снапшот дерева сырцов, чтобы было ук чему потом аппелировать). Далее билдите бинари этого релиза и раздаёте либо в локальный Nuget, либо в папочку 3rdparty всех зависимых солюшенов. Т.е. зависимый солюшен, во-первых, лежит в другой папке (и можно настроить права доступа etc), во-вторых, работает со стабильной версией (и в случае проблем можно откатиться на предыдущую, а не гадать, чей фикс сломал Вселенную, т.к. контрибуторов куча, и всё сыпется в общую корзинку)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.