Greetings,

I recently added log_accum.pl and commit_prep.pl via
loginfo. Everything works fine when commiting sources
from sandboxes on the cvs home machine where
CVSROOT=/cvsroot. However, when commiting changes via
pserver remotely, two emails are sent for evey commit,
the emails looking identical. Even if I use pserver
protocal on same machine as /cvsroot, I get the same
problem: two emails.

I am using server/client version 1.11.1p1.

Here is what I have in loginfo:

modulename (echo "Exceuting loginfo...";
/usr/local/bin/perl $CVSROOT/CVSROOT/util/log_accum.pl
-d -m [EMAIL PROTECTED] %s)

And in a script called from commitinfo:

if $CVSROOT/CVSROOT/util/commit_prep.pl ${1+"$@"};
then
   exit 0
fi
exit 1

When I add a debugging line immediately before the
call to mail_notification inside log_accum.pl I see it
printed twice, as below:

---------------------------
Checking in README.txt;
/cvsroot/CVSROOT/util/README.txt,v  <--  README.txt
new revision: 1.22; previous revision: 1.21
done
Debug turned on...
module - CVSROOT
dir    - CVSROOT/util/
path   - CVSROOT:util
files  - CVSROOT/util:README.txt
id     - 249
Searching for log file index... found log file at
0.249, now writing tmp files.
Checking current dir against last dir.
Current directory CVSROOT/util is last directory
/cvsroot/CVSROOT/util -- all commits done.
###### Beginning the final log
message...format_lists(): CVSROOT/util/:README.txt
format_names(): dir = CVSROOT/util/; files =
README.txt.
main: pre-sort changed_files =
CVSROOT/util/:README.txt.
main: post-sort changed_files =
CVSROOT/util/:README.txt.
main(): doing 'cvs -nQq status -v README.txt'
cvs server: Rebuilding administrative file database
###### Calling mail_notification from line 568..######
Calling mail_notification from line 568..
-------------------------

No other statements are being printed twice??
And log_accum cleans up the temp directory just fine
all the files it uses there.

Something else I noticed. When I pass "-s" to
log_accum.pl, preventing status from being reported,
only one email is sent.

So to review, :
1. I get two emails, using pserver protocol
2. I get two emails, from both remote client and
locally using pserver
3. temp files are cleaned up correctly despite two
emails.
4. the mail_notification function in log_accum is
called twice, but it appears no other code in
log_accum.pl is executed twice.
5. disabling the use of cvs status inside log_accum
results in one email being sent so everything appears
fine using pserver. 
6. when status is on using pserver two emails are
sent, but neither contains a status report.
7. I have a similar script that does a cvs diff. It
bahaves the same in that not using the diff part
results in one email, but using it means two.

I'm baffled. Anyone get these scripts to behave using
pserver? Ideas? Is it something to do with the shell
on the server using pserver? help....

Thanks,

Peter
 


__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com

_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs

Reply via email to