ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] git submodules vs gear
Date: Sun, 10 Jan 2010 22:59:44 +0300
Message-ID: <20100110195944.GG5842@wo.int.altlinux.org> (raw)
In-Reply-To: <20100110174641.GV1710@osdn.org.ua>

[-- Attachment #1: Type: text/plain, Size: 3745 bytes --]

On Sun, Jan 10, 2010 at 07:46:41PM +0200, Michael Shigorin wrote:
> On Sun, Jan 10, 2010 at 01:31:25AM +0300, Dmitry V. Levin wrote:
> > Now imagine that this commit id uses submodules and required external
> > commit objects are missing, because no git repository that uses
> > submodules is required to be self-contained.  In this case, gear would
> > have to attempt to fetch these commits from internet.  This is NOT
> > reliable, and gear would not be able to guarantee reproducibly.
> 
> Цитируя https://bugzilla.altlinux.org/show_bug.cgi?id=17914#c24:
> > Привнесение поддержки submodule не должно сломать эту гарантию.
> 
> Не можешь дать гарантию -- не давай.

Мне нужно, чтобы пакет воспроизводимо собирался на изолированном от
внешнего мира сервере.  Если инструмент не даёт мне такой гарантии,
то мне такой инструмент не нужен.

> Особенно если опираешься на
> услуги посредников. git когда-то давно мог гарантировать _полную_
> историю, а потом появились shallow clones и submodules (причём не
> от прихоти или "разработки ради разработки") и эта гарантия стала
> ограниченной.  Собственно, что legion@ и говорит в #c45.

shallow clones и submodules не нарушают главного свойства git -- гарантии
неизменности истории.  А то, что часть коммитов может быть оформлена таким
образом, чтобы снять обязательность локального размещения -- это не меняет
сути дела для git.  Всё таки надо понимать, что у git и gear разные
задачи.

> Цитируя #c26 и #c34:
> > Нарушается принцип достаточности коммита.
> 
> Ну и что?  Не можешь решить проблему за человека -- не мешай ему
> самому решать их, создавая непреодолимые.  "Не навреди".
> 
> А ключевые принципы, на которые опираются hasher, gear и подобные
> инструменты -- неплохо было б описывать в их документации.

Я стараюсь в меру своих сил и возможностей.

> Пока что отсутствие поддержки git submodule в сизифном gear
> противоречит его же документированной идее ("собирать пакеты
> из произвольно устроенного git-репозитория") и описанным
> ограничениям, накладываемым на структуру репозитория.

Когда был написан этот текст, git submodule не было даже в проекте.
Очевидно, текст требуется актуализировать.

> При этом упомянутый тобой принцип в ABOUT.ru.utf8 не описан --
> вскользь проскакивает во фразе "согласно которым производится
> экспорт из коммита репозитория (в форму, из которой можно
> однозначно изготовить srpm-пакет или запустить сборку)" разве.
> 
> То есть твоя позиция нарушает явно сформулированный принцип,
> даже если, как выясняется в баге с патчем, опирается на другой
> -- нигде не опубликованный до обсуждения в баге, как понимаю.

Очевидно, формулировки пора обновить, чтобы они лучше отражали реальную
картину.

> > As you see, there is a fundamental problem: GIT submodule breaks
> > repository completeness, but gear requires git repositories to be
> > self-contained.  I have no idea how to avoid this problem.
> 
> Исправить ожидания gear на соответствующие наблюдаемой
> действительности, разумеется.

Повторю ещё раз: мне нужно, чтобы gear решал вполне простую и понятную
задачу (я написал выше, какую).
> 
> Возможно, обязав заливать используемые для субмодулей репо на
> git.alt

Это не представляется возможным.

> и указывать соответствие где-нить в .gear/submodules
> во избежание тупой автоматической траты времени и трафика.
> 
> При этом технический мерж можно делать прямо перед скручиванием
> тарбола, как понимаю.  И репо чистые, и Дима доволен.

Сборочный тэг должен указывать на коммит, замыкание которого находится
в репозитории целиком и передаётся базовыми операциями (git fetch и
git push) без потерь.  Всё остальное -- детали реализации.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

  parent reply	other threads:[~2010-01-10 19:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-09 20:19 [devel] git submodules on git.alt Max Ivanov
2010-01-09 20:29 ` Alexey Gladkov
2010-01-09 20:53   ` Michael Shigorin
2010-01-09 21:29     ` Alexey Gladkov
2010-01-09 21:34       ` Michael Shigorin
2010-01-09 21:48         ` Max Ivanov
2010-01-09 22:33         ` Alexey I. Froloff
2010-01-09 22:52         ` Alexey Gladkov
2010-01-09 22:31   ` [devel] git submodules vs gear Dmitry V. Levin
2010-01-09 22:36     ` Max Ivanov
2010-01-09 22:49       ` Dmitry V. Levin
2010-01-10  8:45     ` Anton Farygin
2010-01-10 16:05       ` Dmitry V. Levin
2010-01-10 19:07         ` Anton Farygin
2010-01-10 19:46           ` Dmitry V. Levin
2010-01-10 19:59             ` Anton Farygin
2010-01-10 20:08               ` Dmitry V. Levin
2010-01-11  9:13                 ` Anton Farygin
2010-01-11  9:56                   ` Денис Смирнов
2010-01-12  6:50                     ` REAL
2010-01-11 20:56           ` Dmitry V. Levin
2010-01-12  9:08             ` Anton Farygin
2010-01-10 17:46     ` Michael Shigorin
2010-01-10 19:10       ` Anton Farygin
2010-01-10 19:59       ` Dmitry V. Levin [this message]
2010-01-09 22:43 ` [devel] git submodules on git.alt Dmitry V. Levin
2010-01-10  8:50   ` Anton Farygin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100110195944.GG5842@wo.int.altlinux.org \
    --to=ldv@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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