ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: cornet <cornet@zmail.ru>
To: "mandrake-russian@altlinux.ru" <mandrake-russian@altlinux.ru>
Subject: [mdk-re] CVS commit & script from loginfo
Date: Wed Sep  5 23:25:00 2001
Message-ID: <3B967B6A.705F5F4F@zmail.ru> (raw)

Hello all!!

Подозреваю, что в данной рассылке куча знатоков CVS, уж по
крайней мере разработчики из Alt точно знают многое, не
отпирайтесь :-))

Задача:
Есть CVS, CVSROOT=/home/user/cvs
в ём есть каталог $CVSROOT/doc в котором содержится
документация в html. Люди ходят туда через pserver.
Хочется что бы по каждому commit в этот модуль, стартовал
скриптик, который все это будет через cvs update локально
вытягивать и складывать в доступное http серверу место
(/home/user/www), предварительно протралив, подправив в
соответствии с произошедшими изменениями индексы, заголовки,
атрибуты и прочую хренотень, поскольку в самом CVS хранится
практически голое <body> а обвеска должна браться из 
темплейта и частично генериться налету.

Что у меня получилось:
$CVSROOT/CVSROOT/loginfo содержит строку:
^doc (date; cat; (sleep 2; cd /home/user/www;
/home/user/bin/script.pl) &) >> $CVSROOT/CVSROOT/updatelog 2>&1

/home/user/bin/script.pl - содержит вызов cvs update и
обрабатывает файлы.

Однако у такого подхода есть неприятность:
Если по commit фиксируется не один файл а несколько (cvs commit
doc), причем в различных подкаталогах $CVSROOT/doc , то
вышеприведенная строка будет вызвана столько раз, сколько
каталогов обработано, причем практически одновременно, что
недопустимо, поскольку копии скрипта неизбежно перессорятся между
собой из за файлов. К тому же, пока эти скрипты не отработают,
CVS не отпускает консоль клиента и считает операцию commit не
завершенной, что как то странно и неудобно.

Хачу:
Что бы если пользователь сказал _один_ раз
cvs commit doc
то независимо от количества и места расположения фиксируемых
файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
желательно как только скрипт запустится консоль клиента
отпустить.

Как?

-- 
******** FIRE & STEEL ********




             reply	other threads:[~2001-09-05 23:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-05 23:25 cornet [this message]
2001-09-06 19:06 ` cornet
2001-09-07  2:14   ` Anton Farygin
2001-09-07  9:36     ` cornet
2001-09-07 10:25 ` Dmitry V. Levin
2001-09-07 10:41   ` cornet
2001-09-07 10:58     ` Dmitry V. Levin
2001-09-07 11:11       ` cornet
2001-09-07 10:57   ` cornet

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=3B967B6A.705F5F4F@zmail.ru \
    --to=cornet@zmail.ru \
    --cc=mandrake-russian@altlinux.ru \
    /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 Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/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 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git