ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Метарепозиторий Сизифа
Date: Fri, 9 Nov 2007 02:04:20 +0300
Message-ID: <20071108230420.GB24160@solemn.turbinal> (raw)
In-Reply-To: <20071108223850.GB9270@basalt.office.altlinux.org>

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

On Fri, Nov 09, 2007 at 01:38:50AM +0300, Dmitry V. Levin wrote:
> > Это тогда философский вопрос получается -- чем мёрж отличается от ребейса.
> > Если и тот и другой одинаково возможны, то в результате у мёрж-коммита
> > и ребейса будут одинаковые деревья, но разная история.
> 
> Лично я воспринимаю rebase как частный и довольно точно определённый вид
> merge.  Я не вижу способа перенести git'овое представление термина
> "merge by recursive" на нашу почву.

Merge -- полное сохранение истории, такой, какой она была, при том, что
в точке мёржа имеется "нематематический катаклизм".  В нашем случае этот
нематематический катаклизм можно сделать немного более математическим
за счёт фактического "перепроигрывания" (или же параллельного
дублирования) истории.  То есть стратегия мёржа в наших руках --
текстуального соответствия не требуется, а требуется выяснять
семантическую возможность мёржа.

Мёрж атомарен только в смысле подключения его к HEAD'у.
Сама по себе транзакция можно состоять из целого дерева коммитов.

Например, я отправил новую сборку perl-XML-LibXML, и сломался
perl-XML-LibXSLT.  Не дождавшись окончания тестовой пересборки,
я собрал libxml2.  Потом я получил результаты по perl-XML-LibXML
и взялся чинить perl-XML-LibXSLT.  Но libxml2 сам по себе уже прошёл
в HEAD.  Движение хеда на рисунке строго вертикальное.

	 /* merged perl-XML-LibXML with fixed perl-XML-LibXSLT
	* | perl-XML-LibXSLT built ok
	* | perl-XML-LibXML built ok against libxml2
	|\| branch is awaken by new perl-XML-LibXSLT 
	| * libxml2 built ok
	* | perl-XML-LibXSLT rebuild failed
	 `* perl-XML-LibXML built ok

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

Впрочем, я не против ребейса.
Я просто почему-то всегда думал про мёржи.
Теперь буду думать про ребейсы. :)

> В первом приближении можно, поскольку это не меняет сути дела.
> Я утверждаю, что apt-cache unmet в нынешнем виде не отвечает на тот
> вопрос, на который мы традиционно считали что отвечает.  Это не значит,
> что мы не можем решать глобальную задачу сборки Сизифа, пока не решим
> конкретную проблему apt-cache unmet.

Анметы можно маскировать кофликтами.
Над этим надо будет думать в другом треде.

> > Да.  Это самое слабое место.  После того, как собрались пакеты
> > транзакции, нужно ждать какое-то время, пока не просчитается список
> > на тестовую пересборку.  Это время в среднем наверное превышает сборку
> > поступивших пакетов + последующую тестовую пересборку.
> 
> Это можно обойти, не реализуя свой алгоритм обработки графа зависимостей,
> без использования apt?

Нет.  Не будет гарантии.  А тут нужна гарантия, то есть "полное
вычисление состояния".  Впрочем, гарантия не может быть сильнее,
чем воспроизводимость сборки пакетов.  Этим тоже надо заниматься
отдельно.

> > > Наверное, можно сохранять промежуточные состояния жизни транзакции, если
> > > это интересно.  Я пока не вижу, зачем это может понадобиться.
> > 
> > Для анализа промежуточных конфигураций, которые образуются в ходе
> > транзакции.
> 
> Какого рода анализа?

Мне интересно знать, что у кого сломалось и как они это чинили.

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

  reply	other threads:[~2007-11-08 23:04 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-06 21:35 Alexey Tourbin
2007-11-07  5:23   ` Alexey Tourbin
2007-11-07  5:50     ` Хихин Руслан
2007-11-07  7:01       ` Alexey Tourbin
2007-11-07 21:37         ` Kirill A. Shutemov
2007-11-07 10:16 ` Alexey I. Froloff
2007-11-07 10:38   ` Alexey Gladkov
2007-11-07 10:39 ` Alexey Gladkov
2007-11-07 10:43 ` Alexey Gladkov
2007-11-07 10:49   ` Alexey Gladkov
2007-11-08 17:42 ` Dmitry V. Levin
2007-11-08 18:38   ` Sergey Vlasov
2007-11-08 20:17     ` Dmitry V. Levin
2007-11-08 19:03   ` Alexey Tourbin
2007-11-08 19:20     ` Kirill A. Shutemov
2007-11-08 19:46       ` Alexey Tourbin
2007-11-08 19:23     ` [devel] bootstrap транзакции Alexey Tourbin
2007-11-08 21:20     ` [devel] Метарепозиторий Сизифа Dmitry V. Levin
2007-11-08 22:08       ` Alexey Tourbin
2007-11-08 22:30         ` [devel] git-репозитарий для логов сборки Alexey Tourbin
2007-11-08 22:48           ` Dmitry V. Levin
2007-11-08 23:28             ` Alexey Tourbin
2007-11-09  1:09               ` Dmitry V. Levin
2007-11-09  1:21                 ` Alexey Tourbin
2007-11-09  2:06             ` Alexey Tourbin
2007-11-08 22:38         ` [devel] Метарепозиторий Сизифа Dmitry V. Levin
2007-11-08 23:04           ` Alexey Tourbin [this message]
2007-11-09  1:06           ` Alexey Tourbin
2007-11-09  6:44             ` Kirill A. Shutemov

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=20071108230420.GB24160@solemn.turbinal \
    --to=at@altlinux.ru \
    --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