Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Hello Group! I've tried to setup a two-way email commit notification thing on Linux. Every commit goes to one "general" email list, while commits on certain files/directorys go to another "special" list. This is used to keep the verbosity level for the special list low, since these users only get commit notifications on those directorys they're actually working on. Now, I noticed some strange behaviour in CVSNT 2.5.01-1976: a) Several ALL occurences are not treated, only the last one, obviously the docs state that this works[0]. The fix Glen stated back in July to put a "+" sign in front of the ALL ("+ALL /path/to/cmd") made CVSNT not even executing the last command. b) It seems as the second (and maybe further?) entries do not get equal parameters passed. A little example: I use this perl script to print out STDIN and ARGV passed to it: #!/usr/bin/perl -w use strict; my @stdin = <STDIN>; print ">>>> STDIN:\n"; print join("\n", at stdin); print ">>>> CMDLINE:\n"; foreach (@ARGV) { print "$_\n"; } My loginfo file now looks like the following: ^misc/foo /var/cvsroot/CVSROOT/test.pl $USER "%s" ALL /var/cvsroot/CVSROOT/test.pl $USER "%s" Ideally, both scripts should receive the same input. But that is what happens if I do a commit: tommyd at host [~/misc/foo]$ cvs commit -m "" cvs commit: Examining . Checking in bar; /mmmdi/misc/foo/bar,v <-- bar new revision: 1.5; previous revision: 1.4 done Checking in baz; /mmmdi/misc/foo/baz,v <-- baz new revision: 1.5; previous revision: 1.4 done Checking in foo; /mmmdi/misc/foo/foo,v <-- foo new revision: 1.3; previous revision: 1.2 done >>>> STDIN: Update of /mmmdi/misc/foo In directory host.musicmademe.com:/tmp/cvs-serv13792 Modified Files: bar baz foo Log Message: >>>> CMDLINE: tommyd misc/foo bar baz foo >>>> STDIN: Update of /mmmdi/misc/foo In directory host.musicmademe.com:/tmp/cvs-serv13792 Modified Files: bar baz foo Log Message: >>>> CMDLINE: tommyd bar baz foo As you can see below inside the 2nd "CMDLINE" section there is no path given to the script (right after the username). This makes my perl script (which consists of commit_prep and log_accum) not working, which tries to match the directory on which the commit happens with the directory last recorded during commitinfo. Now again, my loginfo script works, IF it gets the correct input which doesn't seem to be the case. Any hints how to resolve this issue are greatly appreciated! Thomas. [0] http://www.cvsnt.org/manual/html/loginfo.html -- Registered Linux User #369861 PGP Public Key on http://thomaskeller.biz/pgp/thomas-keller.pkr Learn to quote http://netmeister.org/news/learn2quote.html