LINUX.ORG.RU

подпроект в git

 


0

4

Хочу фичу типа svn:externals в git. Почитал тут и тут, думаю использовать sub-tree. Теперь вопрос. Это делается для того, чтобы выделить общую часть двух проектов. Сейчас эта общая часть находится в отдельной директории в одном проектке. Чтобы использовать subtree, мне нужно создать отдельный репозиторий для этой общей части, так?

★★★★★

Хочу фичу типа svn:externals в git.

Все эти sub-tree и git modules даже близко по удобству с svn не стоят. Одна боль и страдания. Менее больно — общую часть сделать отдельной библиотекой со своим релизным циклом и рассматривать ее как стороннюю зависимость.

anonymous
()
Ответ на: комментарий от anonymous

Менее больно — общую часть сделать отдельной библиотекой со своим релизным циклом и рассматривать ее как стороннюю зависимость.

А в репозиторий-то как включить?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

А в репозиторий-то как включить?

Включать надо не в репозиторий, а в проект. КО думает что используя распространенные практики, принятые для вашего языка/платформы.

anonymous
()
Ответ на: комментарий от Dark_SavanT

subtree, насколько я понял, можно только из ветки того же репозитория сделать

Вообще то гиту пофигу от какого remote ветка.

anonymous
()
Ответ на: комментарий от UVV

Я дико извиняюсь, но в Mercurial это сделано просто как тапок, сам пользовался длительное время. Есть git и svn subrepo + thg эту фишку тоже поддерживает :) Понимаю как нелогично выглядит реклама hg в теме о git, но всё же... Может специфика проекта позволит рассмотреть даже такую альтернативу.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от post-factum

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

Solace ★★
()
Ответ на: комментарий от Solace

Есть некие общие классы, которые хочется использовать в двух проектах. Как расшарить их на оба репозитория?

UVV ★★★★★
() автор топика
Ответ на: комментарий от post-factum

Меня вот эта фраза со SO отпугивает:

Submodules are easy to set up, but all users have to manage the submodules, which are not automatically included in checkouts (or clones).

UVV ★★★★★
() автор топика
Ответ на: комментарий от post-factum

ok, спс. Вечером попробую замутить..

UVV ★★★★★
() автор топика
Ответ на: комментарий от xpahos

Положить их все в один репозиторий

Пока не думаю, что в этом есть смысл.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Есть другие варианты с гитом?

Для каждого проекта делать отдельные git репозиторий, собирать библиотеки, публиковать ( хоть в local maven) одни для других, как зависимости.

Может кто-то знает как лучше, мне не попадалось.

barberry ★★
()
Ответ на: комментарий от UVV

И вот еще, в дополнение, про зависимости. Все просто и не небыло каких-то заморочек. Просто если в одном проекте что-то поменял, то в его каталоге запустил:

$ gradle test install
:compileJava
:compileGroovy
:processResources
:classes
:compileTestJava
:compileTestGroovy
:processTestResources
:testClasses
:test
:jar
:install

все собралось, протестировалось и отправилось в репу.

barberry ★★
()
Ответ на: комментарий от post-factum
git submodule init && git submodule update

проще так

 git submodule update --init
anonymous
()

Не очень понятно, почему бы не использовать просто ещё 1 реп.

sT331h0rs3 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.