From d0ffbdd295c1583abde17388553038f39747b0cc Mon Sep 17 00:00:00 2001
From: Sergey Matveev <stargrave@stargrave.org>
Date: Mon, 14 Dec 2020 22:05:05 +0300
Subject: [PATCH] goredo 0.5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
ÐÐ¾Ñ Ð¸ пеÑвÑй Ñелиз goredo в коÑоÑом Ñже наÑÑоÑÑие баги попÑавленÑ. Ðз
пÑоекÑа http://news.dieweltistgarnichtso.net/bin/redo-sh.html Ñ Ð²Ð·Ñл
ÑеÑÑÑ, Ñделал обÑÑÑÐºÑ Ð½Ð°Ð´ ними Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка ÑеÑез github.com/chriscool/sharness.
ÐбнаÑÑжил непÑиÑÑнÑе баги. ÐÑе они даннÑе Ð±Ñ Ð½Ðµ попоÑÑили, не обманÑвали
Ð±Ñ Ñем ÑÑо ÑобÑали ÑÑо Ð´Ð¾Ð»Ð¶Ð½Ñ -- ниÑего ÑÑÑаÑного. Ðо в некоÑоÑÑÑ
ÑлÑÑаÑÑ
пÑоÑÑо падали Ð±Ñ Ñ Ð¾Ñибками о не найденнÑÑ
.do напÑимеÑ.
ÐÐ¾Ñ ÑолÑко авÑÐ¾Ñ ÑÑого redo-sh ÑÑиÑÐ°ÐµÑ ÑÑо redo-always бÑквалÑно вÑегда
пÑевÑегда должен пеÑеÑобиÑаÑÑ ÑелÑ. Ðол напÑÐ¸Ð¼ÐµÑ TeX можеÑ
неопÑеделÑнное колиÑеÑÑво Ñаз пеÑеÑобиÑаÑÑ Ð´Ð¾ÐºÑменÑ, пока не бÑдÑÑ
ÑазÑеÑÐµÐ½Ñ Ð²Ñе ÑÑÑлки и номеÑа ÑÑÑлок/ÑÑÑаниÑ. ÐÑÑо неÑоглаÑен Ñ ÐµÐ³Ð¾
позиÑией. СобÑÑвенно, как и apenwarr/redo ÑеализаÑиÑ. ÐÑо по ÑÑÑи
Ð´ÐµÐ»Ð°ÐµÑ always Ñели ÑовеÑÑенно неÑзабелÑнÑми/беÑполезнÑми. ÐапÑÐ¸Ð¼ÐµÑ Ñ
Ð¼ÐµÐ½Ñ Ð²Ñе .c ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð²Ð¸ÑÑÑ Ð¾Ñ .h, в коÑоÑом пÑоÑÑавлÑеÑÑÑ Ð²ÐµÑÑÐ¸Ñ ÐºÐ¾Ð´Ð°,
коÑоÑаÑ, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, беÑÑÑÑÑ Ð¸Ð· вÑÑ
лопа git-describe. Ðа, из-за
checksum (или redo-stamp) завиÑимÑе Ñели пеÑеÑобиÑаÑÑÑÑ Ð½Ðµ бÑдÑÑ, но Ñам
git-describe Ñо вÑзовеÑÑÑ Ð¶Ðµ. Рон оÑÐµÐ½Ñ Ð½Ðµ лÑгкий. РиÑоге пÑоÑÑенÑкий
Си пÑоекÑик вÑегда бÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ ÑÐ¹Ð¼Ñ Ð²Ñемени из-за кÑÑи git вÑзовов.
Ð Ñ Ð´Ð°Ð¶Ðµ не пÑедÑÑавлÑÑ ÐºÐ°Ðº в redo-sh можно Ñ
оÑÑ Ð±Ñ ÐºÐ¾ÑÑÑлÑми ÑделаÑÑ
желаемое поведение (пÑи ÑбоÑке "пÑовеÑÑÑÑ" веÑÑиÑ, но делаÑÑ ÑолÑко один
Ñаз). Ð Ñ Ñ
Ð¾Ð´Ñ Ñ Ð´Ð°Ð¶Ðµ не Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ ÐºÐ°Ðº он иÑполÑзÑÐµÑ redo-always длÑ
ÑбоÑок TeX-а... Ð²ÐµÐ´Ñ Ð² redo Ð½ÐµÑ ÑакиÑ
веÑей как повÑоÑи ÑбоÑÐºÑ Ð¸Ð»Ð¸ пойми
вÑполнена ли она. С TeX-ом пÑоблем вообÑе Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
и Ñ Ð¿ÑÑм недавно
как-Ñаз делал .do Ñели Ð´Ð»Ñ ÑбоÑки LaTeX докÑменÑа где Ñе ÑамÑе неÑколÑко
иÑеÑаÑий пеÑеÑбоÑки нÑжнÑ. apenwarr/redo пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ Ð¿ÑоÑÑо обеÑнÑÑÑ
ÑодеÑжимое .do в while. ÐогиÑно, ÑазÑмно. Ð Ñ Ñак же Ñделал:
redo-ifchange report.tex
exec >&2
pdflatex report.tex
while grep -q "Rerun to get" report.log ; do
pdflatex report.tex
done
mv report.pdf $3
Ðозможно не ÑÑÐ¿ÐµÑ ÑлеганÑно, но и не ÑказаÑÑ ÑÑо Ñибко ÑÑÑаÑно, заÑо
никакиÑ
пÑоблем Ñ always ÑелÑÑ. РлÑбом ÑлÑÑае Ñ ÑбеждÑн ÑÑо ÑбоÑка
LaTeX докÑменÑа ÑÑо одна аÑомаÑÐ½Ð°Ñ ÑелÑ, Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ ÑиÑÑÐµÐ¼Ñ ÑбоÑки.
Ð Ñо ÑÑо LaTeX-Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно бÑÐ²Ð°ÐµÑ Ð½Ñжно бÑквалÑно говоÑиÑÑ
"ÑобиÑайÑÑ, пока ..." (ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¾ bibtex-аÑ
, номеÑаÑ
ÑÑÑаниÑ, ÑÑÑлкаÑ
и
пÑоÑем).
РобÑем, как вÑегда always Ñели плодÑÑ Ð¼Ð½Ð¾Ð³Ð¾ пÑоблем и
недоговоÑÑнноÑÑей. ÐÑÑÑе деÑжаÑÑÑÑ Ð¾Ñ Ð½Ð¸Ñ
подалÑÑе. Ðо в apenwarr/redo
(+redo-stamp) Ñ Ð½Ð¸Ð¼Ð¸ жиÑÑ Ð¿Ð¾Ð»ÑÑаеÑÑÑ, как и в goredo, Ñамо Ñобой. Ðа и
redo-c благодаÑÑ checksum-ам. Ðо redo-sh в моиÑ
пÑоекÑаÑ
бÑл бÑ
неÑзабелен (Ñ
оÑÑ Ð¾Ð½ и Ñак не Ñзабелен и не ÑабоÑÐ°ÐµÑ Ñ Ð¼ÐµÐ½Ñ, ибо ÑÑебÑеÑ
именно GNU ÑÑилиÑÑ (stat ÑÐ¾Ñ Ð¶Ðµ) Ð´Ð»Ñ ÑабоÑÑ).
--
2.51.0