Ok, turns out that the script couldn't find the cvs
executable. Fixed that by using an absolute path to
it.

Perl was not giving me any indication which is why I
overlooked it.

-Peter

--- Peter Lynch <[EMAIL PROTECTED]> wrote:
> 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


__________________________________________________
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