ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] gear и git submodule
@ 2013-09-27  9:22 Viacheslav Dubrovskyi
  2013-09-27  9:43 ` Alexey Gladkov
  0 siblings, 1 reply; 13+ messages in thread
From: Viacheslav Dubrovskyi @ 2013-09-27  9:22 UTC (permalink / raw)
  To: Devel

Здравствуйте.

Есть git репозиторий проекта, где используется git submodule. И файлы из 
этого submodule нужны для сборки.

Вопрос: Как сделать так, чтобы содержимое этого субмодуля попало в 
исходники?
Может можно что-то написать в gear-rules чтобы получить архив из 
директории, которая является git submodule ?

-- 
WBR,
Viacheslav Dubrovskyi



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2013-09-27  9:22 [devel] gear и git submodule Viacheslav Dubrovskyi
@ 2013-09-27  9:43 ` Alexey Gladkov
  2013-09-27  9:59   ` Mikhail Efremov
  0 siblings, 1 reply; 13+ messages in thread
From: Alexey Gladkov @ 2013-09-27  9:43 UTC (permalink / raw)
  To: devel

27.09.2013 13:22, Viacheslav Dubrovskyi wrote:
> Здравствуйте.
> 
> Есть git репозиторий проекта, где используется git submodule. И файлы из 
> этого submodule нужны для сборки.
> 
> Вопрос: Как сделать так, чтобы содержимое этого субмодуля попало в 
> исходники?

Поддержки submodule в gear нет по идеологическим причинам.

> Может можно что-то написать в gear-rules чтобы получить архив из 
> директории, которая является git submodule ?

Добавьте их как subtree.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2013-09-27  9:43 ` Alexey Gladkov
@ 2013-09-27  9:59   ` Mikhail Efremov
  2013-09-27 10:19     ` Alexey Gladkov
  0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2013-09-27  9:59 UTC (permalink / raw)
  To: devel

On Fri, 27 Sep 2013 13:43:08 +0400 Alexey Gladkov wrote:
> 27.09.2013 13:22, Viacheslav Dubrovskyi wrote:
> > Может можно что-то написать в gear-rules чтобы получить архив из 
> > директории, которая является git submodule ?
> 
> Добавьте их как subtree.

Кажется у меня потом были какие-то проблемы с merge, хотя точно уже не
помню. Если правильно помню, то в итоге самым простым оказалось держать
для этого отдельный бранч и запаковывать его отдельным тарболом. И уже в
%prep распаковывать куда надо.

-- 
WBR, Mikhail Efremov


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2013-09-27  9:59   ` Mikhail Efremov
@ 2013-09-27 10:19     ` Alexey Gladkov
  2014-12-19 13:09       ` Anton Farygin
  0 siblings, 1 reply; 13+ messages in thread
From: Alexey Gladkov @ 2013-09-27 10:19 UTC (permalink / raw)
  To: devel

27.09.2013 13:59, Mikhail Efremov wrote:
> Кажется у меня потом были какие-то проблемы с merge, хотя точно уже не
> помню. Если правильно помню, то в итоге самым простым оказалось держать
> для этого отдельный бранч и запаковывать его отдельным тарболом. И уже в
> %prep распаковывать куда надо.

Ну или так. Главное чтобы все объекты были доступны.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2013-09-27 10:19     ` Alexey Gladkov
@ 2014-12-19 13:09       ` Anton Farygin
  2014-12-19 13:39         ` Alexey Gladkov
  0 siblings, 1 reply; 13+ messages in thread
From: Anton Farygin @ 2014-12-19 13:09 UTC (permalink / raw)
  To: devel

On 27.09.2013 14:19, Alexey Gladkov wrote:
> 27.09.2013 13:59, Mikhail Efremov wrote:
>> Кажется у меня потом были какие-то проблемы с merge, хотя точно уже не
>> помню. Если правильно помню, то в итоге самым простым оказалось держать
>> для этого отдельный бранч и запаковывать его отдельным тарболом. И уже в
>> %prep распаковывать куда надо.
>
> Ну или так. Главное чтобы все объекты были доступны.
>

С тех пор ничего не поменялось ?

Так если честно не хочется иметь секас с разными ветками merge -s ours, 
что подумываю тупо паковать тарболл при наличии апстримного гита.

Может быть за год идеология поменялась в лучшую сторону и появилась 
поддержка submodules ?



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 13:09       ` Anton Farygin
@ 2014-12-19 13:39         ` Alexey Gladkov
  2014-12-19 14:07           ` Anton Farygin
  0 siblings, 1 reply; 13+ messages in thread
From: Alexey Gladkov @ 2014-12-19 13:39 UTC (permalink / raw)
  To: devel

19.12.2014 16:09, Anton Farygin пишет:
> On 27.09.2013 14:19, Alexey Gladkov wrote:
>> 27.09.2013 13:59, Mikhail Efremov wrote:
>>> Кажется у меня потом были какие-то проблемы с merge, хотя точно уже не
>>> помню. Если правильно помню, то в итоге самым простым оказалось держать
>>> для этого отдельный бранч и запаковывать его отдельным тарболом. И уже в
>>> %prep распаковывать куда надо.
>>
>> Ну или так. Главное чтобы все объекты были доступны.
>>
> 
> С тех пор ничего не поменялось ?
> 
> Так если честно не хочется иметь секас с разными ветками merge -s ours, 
> что подумываю тупо паковать тарболл при наличии апстримного гита.
> 
> Может быть за год идеология поменялась в лучшую сторону и появилась 
> поддержка submodules ?

Ничего не поменялось. У меня в загажнике несколько разных реализаций
поддержки submodules. Но так как сама идеология submodules
противоречит gear и спрос на их поддержку очень маленький, то дело не
двигается.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 13:39         ` Alexey Gladkov
@ 2014-12-19 14:07           ` Anton Farygin
  2014-12-19 14:27             ` Alexey Gladkov
  0 siblings, 1 reply; 13+ messages in thread
From: Anton Farygin @ 2014-12-19 14:07 UTC (permalink / raw)
  To: devel

On 19.12.2014 16:39, Alexey Gladkov wrote:
> 19.12.2014 16:09, Anton Farygin пишет:
>> On 27.09.2013 14:19, Alexey Gladkov wrote:
>>> 27.09.2013 13:59, Mikhail Efremov wrote:
>>>> Кажется у меня потом были какие-то проблемы с merge, хотя точно уже не
>>>> помню. Если правильно помню, то в итоге самым простым оказалось держать
>>>> для этого отдельный бранч и запаковывать его отдельным тарболом. И уже в
>>>> %prep распаковывать куда надо.
>>>
>>> Ну или так. Главное чтобы все объекты были доступны.
>>>
>>
>> С тех пор ничего не поменялось ?
>>
>> Так если честно не хочется иметь секас с разными ветками merge -s ours,
>> что подумываю тупо паковать тарболл при наличии апстримного гита.
>>
>> Может быть за год идеология поменялась в лучшую сторону и появилась
>> поддержка submodules ?
>
> Ничего не поменялось. У меня в загажнике несколько разных реализаций
> поддержки submodules. Но так как сама идеология submodules
> противоречит gear и спрос на их поддержку очень маленький, то дело не
> двигается.
>

А в чём противоречие ?

может быть стоит написать обвязку, которая автоматизирует хранение 
submodules в одном репозитории, и это сильно облегчит жизнь ?


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 14:07           ` Anton Farygin
@ 2014-12-19 14:27             ` Alexey Gladkov
  2014-12-19 14:49               ` Anton Farygin
  2015-01-14  1:29               ` Alexey Morozov
  0 siblings, 2 replies; 13+ messages in thread
From: Alexey Gladkov @ 2014-12-19 14:27 UTC (permalink / raw)
  To: devel

19.12.2014 17:07, Anton Farygin пишет:
> А в чём противоречие ?
> 
> может быть стоит написать обвязку, которая автоматизирует хранение 
> submodules в одном репозитории, и это сильно облегчит жизнь ?

Текущая политика gear в том, что все объекты должны быть в репозитории
т.е. на момент запуска любой команды у тебя все объекты должны быть
доступны.

Subtree укладываются в эту парадигму т.к. все объекты одного
репозитория добавляются в другой.

В то время как submodules придумывались как раз для противоположной
цели. Когда есть зависимость на объекты, но они не являются частью
твоего репозитория.

Поэтому ни одна стратегия не позволит впихнуть не впихуемое.

Если не допустимо клонировать дополнительные репозитории, то я не вижу
путей как это реализовать. Кроме как радикального преобразования
submodules в subtree.

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

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 14:27             ` Alexey Gladkov
@ 2014-12-19 14:49               ` Anton Farygin
  2014-12-19 15:15                 ` Alexey Gladkov
  2015-01-14  1:29               ` Alexey Morozov
  1 sibling, 1 reply; 13+ messages in thread
From: Anton Farygin @ 2014-12-19 14:49 UTC (permalink / raw)
  To: devel

On 19.12.2014 17:27, Alexey Gladkov wrote:
> 19.12.2014 17:07, Anton Farygin пишет:
>> А в чём противоречие ?
>>
>> может быть стоит написать обвязку, которая автоматизирует хранение
>> submodules в одном репозитории, и это сильно облегчит жизнь ?
>
> Текущая политика gear в том, что все объекты должны быть в репозитории
> т.е. на момент запуска любой команды у тебя все объекты должны быть
> доступны.
<skip>
Ты меня не услышал.

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

Т.е. - некий инструмент, вроде gear-submodules fetch, благодаря которому 
submodules конвертнутся в subtree.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 14:49               ` Anton Farygin
@ 2014-12-19 15:15                 ` Alexey Gladkov
  2014-12-19 15:21                   ` Anton Farygin
  0 siblings, 1 reply; 13+ messages in thread
From: Alexey Gladkov @ 2014-12-19 15:15 UTC (permalink / raw)
  To: devel

19.12.2014 17:49, Anton Farygin пишет:
> <skip>
> Ты меня не услышал.

Мне кажется я тебя как раз услышал.

> Про политику я знаю. Я про то, что если говорить простым языком - 
> требуется обвязка, позволяющая реализовать жизненный цикл конвертации 
> submudules в единый репозиторий, включая обновления и мержи,
> 
> Т.е. - некий инструмент, вроде gear-submodules fetch, благодаря которому 
> submodules конвертнутся в subtree.

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

Технически такой костыль написать кажется не сложно. У меня лишь
сомнения по поводу подмодулей в подподулях (любые проекты на nodejs).
Я не знаю насколько легко это преобразуется в subtree.

В любом случае для своих репозиториев я таким подходом пользоваться не
стал. Поэтому не заинтересован в такой "поддержке" submodules.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 15:15                 ` Alexey Gladkov
@ 2014-12-19 15:21                   ` Anton Farygin
  2014-12-19 15:54                     ` Alexey Gladkov
  0 siblings, 1 reply; 13+ messages in thread
From: Anton Farygin @ 2014-12-19 15:21 UTC (permalink / raw)
  To: devel

On 19.12.2014 18:15, Alexey Gladkov wrote:
> 19.12.2014 17:49, Anton Farygin пишет:
>> <skip>
>> Ты меня не услышал.
>
> Мне кажется я тебя как раз услышал.
>
>> Про политику я знаю. Я про то, что если говорить простым языком -
>> требуется обвязка, позволяющая реализовать жизненный цикл конвертации
>> submudules в единый репозиторий, включая обновления и мержи,
>>
>> Т.е. - некий инструмент, вроде gear-submodules fetch, благодаря которому
>> submodules конвертнутся в subtree.
>
> Это превратит основной репозиторий в кашу. В нём окажутся коммиты того
> что к нему не относится с всеми мерджами т.е. это как раз то отчего
> хотели отказаться создавая submodules.
>
> Технически такой костыль написать кажется не сложно. У меня лишь
> сомнения по поводу подмодулей в подподулях (любые проекты на nodejs).
> Я не знаю насколько легко это преобразуется в subtree.
>
> В любом случае для своих репозиториев я таким подходом пользоваться не
> стал. Поэтому не заинтересован в такой "поддержке" submodules.

Тогда расскажи, какой путь по твоему для репозиториев приемлем, когда 
нужно в одну кучку собрать пять подпроектов, и upstream делает это через 
submodules ?

Да, мне тоже каша в коммитах не нравится, но как иначе, если идеология 
заточена на неё ?





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 15:21                   ` Anton Farygin
@ 2014-12-19 15:54                     ` Alexey Gladkov
  0 siblings, 0 replies; 13+ messages in thread
From: Alexey Gladkov @ 2014-12-19 15:54 UTC (permalink / raw)
  To: devel

19.12.2014 18:21, Anton Farygin пишет:
> Тогда расскажи, какой путь по твоему для репозиториев приемлем, когда 
> нужно в одну кучку собрать пять подпроектов, и upstream делает это через 
> submodules ?

Все мои предложения требуют компромисса. Без изменения полиси тут не
обойтись. Иначе можно ничего не менять (что и было сделано).

> Да, мне тоже каша в коммитах не нравится, но как иначе, если идеология 
> заточена на неё ?

С обвязкой есть ещё один нюанс: submodules поддерживаются самим git и
информация о источниках и точках приложения подмодулей содержится в
репозитории. В случае subtree она содержится в .git/config поэтому
воспроизвести последний результат будет можно а вот продолжить твою
работу будет сложно.

Чтобы этого избежать придётся городить сохранение этой информации в
.gear т.е. по сути submodules-like по религиозным причинам.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] gear и git submodule
  2014-12-19 14:27             ` Alexey Gladkov
  2014-12-19 14:49               ` Anton Farygin
@ 2015-01-14  1:29               ` Alexey Morozov
  1 sibling, 0 replies; 13+ messages in thread
From: Alexey Morozov @ 2015-01-14  1:29 UTC (permalink / raw)
  To: devel

Здравствуйте!

19.12.2014 20:27, Alexey Gladkov пишет:
> Проблема запрета на дополнительные репозитории понятна: ты клонируешь
> основной репозиторий и по прошествии некоторого времени пытаешься из
> него собрать пакет. В этот момент submodules могут быть уже
> недоступны. Это может произойти даже если submodules находятся на
> одном и том же сервере что и основной репозиторий ... например ты
> склонировал основной репозиторий и у тебя пропал интернет (в отпуск
> уехал).
В нынешнее время эта проблема уже _отчасти_ решена, т.к. в момент
инициализации доп. репозитории клонируются внутрь
.git/modules/<path/to/module/in/the/worktree>.

Это конечно, не избавляет от проблем при клонировании репозиториев, с
недоступным апстримом используемых модулей, но делает эти проблемы
решаемыми Грубо говоря, нужно помимо `git clone` сделать ещё scp -r
source:.git/modules/ .git/modules/ и подшаманить с конфигурационными
файлами. Неудобно, конечно, но автоматизируемо.

С уважением,
АМ


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-01-14  1:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-27  9:22 [devel] gear и git submodule Viacheslav Dubrovskyi
2013-09-27  9:43 ` Alexey Gladkov
2013-09-27  9:59   ` Mikhail Efremov
2013-09-27 10:19     ` Alexey Gladkov
2014-12-19 13:09       ` Anton Farygin
2014-12-19 13:39         ` Alexey Gladkov
2014-12-19 14:07           ` Anton Farygin
2014-12-19 14:27             ` Alexey Gladkov
2014-12-19 14:49               ` Anton Farygin
2014-12-19 15:15                 ` Alexey Gladkov
2014-12-19 15:21                   ` Anton Farygin
2014-12-19 15:54                     ` Alexey Gladkov
2015-01-14  1:29               ` Alexey Morozov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git