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 --]
next prev 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