ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] CVS commit & script from loginfo
@ 2001-09-05 23:25 cornet
  2001-09-06 19:06 ` cornet
  2001-09-07 10:25 ` Dmitry V. Levin
  0 siblings, 2 replies; 9+ messages in thread
From: cornet @ 2001-09-05 23:25 UTC (permalink / raw)
  To: mandrake-russian

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 ********




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2001-09-07 11:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-05 23:25 [mdk-re] CVS commit & script from loginfo cornet
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

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