On Wed, 20 Mar 2019, Andrey Savchenko wrote: > On Wed, 20 Mar 2019 13:38:57 +0300 (MSK) Ivan Zakharyaschev wrote: > > On Wed, 20 Mar 2019, Alexey V. Vissarionov wrote: > > > В общем, оптимальный по эргономике вариант видится мне примерно так: > > > > > > set task=`ssh build.alt build $repo $tag` > > > тестируем - лопухнулись, исправляем > > > set task=`ssh build.alt build $repo $tag` > > > опять тестируем - порядок > > > ssh build.alt commit $task > > > > Сейчас это ssh build.alt task run --commit $task > > > > Если состояние репозитория и задания позволяют, оно сразу же делает commit > > сейчас, без пересборки. > > > > Просто тут дело не только в интерфейсе, но и в алгоритме работы (и его > > спецификации) сборочницы: задание может быть закоммичено, только если оно > > было собрано исходя из текущего состояния репозитория, > > Но ведь это избыточное условие для обеспечения пересобираемости > пакетов и транзакционности сборки. Если пакет A не входит > в сборочное окружение пакета B (в т.ч. и по сборочным зависимостям > пакетов и сборочного окружения B, которые могут быть в свою > очередь рекурсивными), то пакет B можно пересобирать вне > зависимости от изменений пакета A. Это учтено насколько удалось при использовании apt. Просто используется пакет или нет, определяет apt исходя из нового состояния репозитория. Если изменение репозитория не привело к изменению сборочного окружения подзадания, то у нас этот путь и так сокращается: "no need to rebuild". Время тратится только на ответ на этот вопрос. По сути высказанная тобой идея уже реализована в рамках возможного. -- Best regards, Ivan