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