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

* [mdk-re] CVS commit & script from loginfo
  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 10:25 ` Dmitry V. Levin
  1 sibling, 1 reply; 9+ messages in thread
From: cornet @ 2001-09-06 19:06 UTC (permalink / raw)
  To: mandrake-russian

cornet wrote:
> 
> Hello all!!
> 
> Подозреваю, что в данной рассылке куча знатоков CVS, уж по
> крайней мере разработчики из Alt точно знают многое, не
> отпирайтесь :-))
skip.
> Хачу:
> Что бы если пользователь сказал _один_ раз
> cvs commit doc
> то независимо от количества и места расположения фиксируемых
> файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> желательно как только скрипт запустится консоль клиента
> отпустить.

Господа! Ну неужели здесь нету ни одного знатока CVS??
Ну не верю я, не верю!!
Разработчики из AltLinux, ну Вы же сами через CVS работаете...

Я что, в предыдущем письме вопрос криво сформулировал что ли?

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



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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-06 19:06 ` cornet
@ 2001-09-07  2:14   ` Anton Farygin
  2001-09-07  9:36     ` cornet
  0 siblings, 1 reply; 9+ messages in thread
From: Anton Farygin @ 2001-09-07  2:14 UTC (permalink / raw)
  To: mandrake-russian

cornet wrote:
> cornet wrote:
> 
>>Hello all!!
>>
>>Подозреваю, что в данной рассылке куча знатоков CVS, уж по
>>крайней мере разработчики из Alt точно знают многое, не
>>отпирайтесь :-))
>>
> skip.
> 
>>Хачу:
>>Что бы если пользователь сказал _один_ раз
>>cvs commit doc
>>то независимо от количества и места расположения фиксируемых
>>файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
>>желательно как только скрипт запустится консоль клиента
>>отпустить.
>>
> 
> Господа! Ну неужели здесь нету ни одного знатока CVS??
> Ну не верю я, не верю!!
> Разработчики из AltLinux, ну Вы же сами через CVS работаете...
> 
> Я что, в предыдущем письме вопрос криво сформулировал что ли?
> 
> 

Да в loginfo добавьте нужную команду в виде скрипта в background на 
нужное событие.. .;-)

Rgds
Rider


-- 

+------------------------------------------------------------+
! ALT Linux Team http://www.altlinux.ru	<rider@altlinux.ru>  !
! tel/fax +7 095 2039698				     !
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++!
! LRN Team	http://www.lrn.ru	<rider@linux.ru.net> !
+------------------------------------------------------------+




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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-07  2:14   ` Anton Farygin
@ 2001-09-07  9:36     ` cornet
  0 siblings, 0 replies; 9+ messages in thread
From: cornet @ 2001-09-07  9:36 UTC (permalink / raw)
  To: mandrake-russian

Anton Farygin wrote:
> 
> cornet wrote:
> > cornet wrote:
> >
> >>Hello all!!
> >>
> >>Подозреваю, что в данной рассылке куча знатоков CVS, уж по
> >>крайней мере разработчики из Alt точно знают многое, не
> >>отпирайтесь :-))
> >>
> > skip.
> >
> >>Хачу:
> >>Что бы если пользователь сказал _один_ раз
> >>cvs commit doc
> >>то независимо от количества и места расположения фиксируемых
> >>файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> >>желательно как только скрипт запустится консоль клиента
> >>отпустить.
> >>
> >
> > Господа! Ну неужели здесь нету ни одного знатока CVS??
> > Ну не верю я, не верю!!
> > Разработчики из AltLinux, ну Вы же сами через CVS работаете...
> >
> > Я что, в предыдущем письме вопрос криво сформулировал что ли?
> >
> >
> 
> Да в loginfo добавьте нужную команду в виде скрипта в background на
> нужное событие.. .;-)
      ^^^^^
Антон! Это я и сам знаю.
Я не знаю КАК? Видимо знаний шелл не хватает :-((
Ты можешь привести пример строки для такого запуска???

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



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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-05 23:25 [mdk-re] CVS commit & script from loginfo cornet
  2001-09-06 19:06 ` cornet
@ 2001-09-07 10:25 ` Dmitry V. Levin
  2001-09-07 10:41   ` cornet
  2001-09-07 10:57   ` cornet
  1 sibling, 2 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2001-09-07 10:25 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

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

On Wed, Sep 05, 2001 at 11:22:18PM +0400, cornet wrote:
> Хачу:
> Что бы если пользователь сказал _один_ раз
> cvs commit doc
> то независимо от количества и места расположения фиксируемых
> файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> желательно как только скрипт запустится консоль клиента
> отпустить.

Вы думаете, что в CVS зря используются блокировки?
Если Вы не хотите получить нежелательных результатов, придется Вам
модифицировать свой скрипт так, чтобы он мог обрабатывать _именно_тот_
каталог, который commit'ится (другими словами, чтобы несколько скриптов,
запущенных для разных подкаталогов, не мешали друг другу).


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

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

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

* Re: [mdk-re] CVS commit & script from loginfo
  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 10:57   ` cornet
  1 sibling, 1 reply; 9+ messages in thread
From: cornet @ 2001-09-07 10:41 UTC (permalink / raw)
  To: mandrake-russian

"Dmitry V. Levin" wrote:
> 
> On Wed, Sep 05, 2001 at 11:22:18PM +0400, cornet wrote:
> > Хачу:
> > Что бы если пользователь сказал _один_ раз
> > cvs commit doc
> > то независимо от количества и места расположения фиксируемых
> > файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> > желательно как только скрипт запустится консоль клиента
> > отпустить.
> 
> Вы думаете, что в CVS зря используются блокировки?
> Если Вы не хотите получить нежелательных результатов, придется Вам
> модифицировать свой скрипт так, чтобы он мог обрабатывать _именно_тот_
> каталог, который commit'ится (другими словами, чтобы несколько скриптов,
> запущенных для разных подкаталогов, не мешали друг другу).

Так я хочу что бы скрипт запустился _после_ того как завершены
все commit во всех подкаталогах и все блокировки уже сняты. У
меня там идет сквозной индекс по всем разделам и его надо
обновлять глобально с учетом _всех_ произошедших изменений. Иначе
прараллельно запущенные процессы передерутся из за доступа к
индексному файлу и с большой вероятностью он будет сформирован
неправильно.
Либо надо как то наладить взаимопонимание между этими процессами,
выстроить их в очередь и так далее... чего я пока что не сделать
умею ни на bash не на perl :-(

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



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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-07 10:25 ` Dmitry V. Levin
  2001-09-07 10:41   ` cornet
@ 2001-09-07 10:57   ` cornet
  1 sibling, 0 replies; 9+ messages in thread
From: cornet @ 2001-09-07 10:57 UTC (permalink / raw)
  To: mandrake-russian

"Dmitry V. Levin" wrote:
> 
> On Wed, Sep 05, 2001 at 11:22:18PM +0400, cornet wrote:
> > Хачу:
> > Что бы если пользователь сказал _один_ раз
> > cvs commit doc
> > то независимо от количества и места расположения фиксируемых
> > файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> > желательно как только скрипт запустится консоль клиента
> > отпустить.
> 
> Вы думаете, что в CVS зря используются блокировки?
> Если Вы не хотите получить нежелательных результатов, придется Вам
> модифицировать свой скрипт так, чтобы он мог обрабатывать _именно_тот_
> каталог, который commit'ится (другими словами, чтобы несколько скриптов,
> запущенных для разных подкаталогов, не мешали друг другу).

И еще вопрос - на сколько CVS устойчив к обрывам связи?
Что произойдет, если к примеру в процессе commit нескольких
файлов у клиента модем слетит с линии?

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



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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-07 10:41   ` cornet
@ 2001-09-07 10:58     ` Dmitry V. Levin
  2001-09-07 11:11       ` cornet
  0 siblings, 1 reply; 9+ messages in thread
From: Dmitry V. Levin @ 2001-09-07 10:58 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

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

On Fri, Sep 07, 2001 at 10:44:09AM +0400, cornet wrote:
> > > Хачу:
> > > Что бы если пользователь сказал _один_ раз
> > > cvs commit doc
> > > то независимо от количества и места расположения фиксируемых
> > > файлов, после их фиксации был бы _один_ раз вызван мой скрипт, и
> > > желательно как только скрипт запустится консоль клиента
> > > отпустить.
> > 
> > Вы думаете, что в CVS зря используются блокировки?
> > Если Вы не хотите получить нежелательных результатов, придется Вам
> > модифицировать свой скрипт так, чтобы он мог обрабатывать _именно_тот_
> > каталог, который commit'ится (другими словами, чтобы несколько скриптов,
> > запущенных для разных подкаталогов, не мешали друг другу).
> 
> Так я хочу что бы скрипт запустился _после_ того как завершены
> все commit во всех подкаталогах и все блокировки уже сняты. У

А как Вы это думаете организовать?


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

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

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

* Re: [mdk-re] CVS commit & script from loginfo
  2001-09-07 10:58     ` Dmitry V. Levin
@ 2001-09-07 11:11       ` cornet
  0 siblings, 0 replies; 9+ messages in thread
From: cornet @ 2001-09-07 11:11 UTC (permalink / raw)
  To: mandrake-russian

"Dmitry V. Levin" wrote:
> 
skip.
> > Так я хочу что бы скрипт запустился _после_ того как завершены
> > все commit во всех подкаталогах и все блокировки уже сняты. У
> 
> А как Вы это думаете организовать?

Понятия не имею!!
По тому и спрашиваю :-)
Кабы знал - давно бы уже сделал :-)

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