info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Auto email on commit - again


From: Peter Toft
Subject: Auto email on commit - again
Date: Wed, 25 Jan 2006 21:16:21 +0100 (CET)

Some time ago I posted this email about my way of handling cvs commit 
mails with the new file format, however today I had a 16 CPU server which 
I accessed via SSH. Here the commit operation flies, but the file locking
gives problems; if I do "cvs -t commit ..." I see late in the commit 
process (actually the very last steps)

....
S -> Lock_Cleanup()
S -> Simple_Lock_Cleanup()
  -> close_connection_to_server ()
S -> Lock_Cleanup()
S -> Simple_Lock_Cleanup()          
S -> server_cleanup()

One of these Simple_Lock_Cleanup() ends up halting the commit for ~15 
seconds or more. The huge delay goes away if I do not add the send mail 
stuff below to the loginfo file.
I have tried to call "mail" on the server directly - here it flies fast.

I have no clue why it happens with CVS 1.12.9.

The server runs RH AW3 with lots of memory and 16 non-loaded CPUs.

Any clue is badly needed (or alternative)

Best 

Peter


---------- Forwarded message ----------
Date: Tue, 20 Dec 2005 00:15:20 +0100 (CET)
From: Peter Toft <address@hidden>
To: Mark E. Hamilton <address@hidden>
Cc: address@hidden, address@hidden
Subject: Auto email on commit

Early december there was another email about CVS and the log.pl contrib 
script. Here is a follow-up + solution. Read on..

I have just updated to CVS 1.12.9.
This version is somewhat annoying, since it breaks the earlier
interface to the log.pl script (the <somepath>contrib/log script).

Earlier we had entries in the CVSROOT/loginfo file like this;
^MyModuleName <somepath>/contrib/log -V -m address@hidden -f 
$CVSROOT/CVSROOT/commitlog %{s}
if I want mails to address@hidden when a commit is done to MyModuleName

But with CVS 1.12.9 I have to get rid of a deprecated log-format by
adding a line to CVSROOT/config
UseNewInfoFmtStrings=yes
and then commit "config" - see
http://ximbiot.com/cvs/manual/cvs-1.12.13/cvs_18.html#SEC189

(I cannot make the log.pl script work with CVS 1.12.9. 
If someone can, let me know.)

With the new CVS-version I think the best and easiest replacement of
the log.pl script is to simply add a (long) one-liner per module to 
CVSROOT/loginfo if you want to get cvs commit emails again
^MyModuleName ((echo "File %{p}/%{s}"; echo "Version update %{V} -> %{v}"; echo 
"-----------------------------------";  cat) | mail -s "CVS commit: %{p}/%{s} 
(v%{v})"  address@hidden address@hidden)
if both address@hidden and address@hidden should get
emails at any commit to the CVS module MyModuleName.
(sorry about the long line; I have not yet figured out to put it into a 
script - anyone who can help there?)

The result is generated emails such as
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Subject: CVS commit: MyModuleName/ChangeLog.txt (v1.162)
Body:
File MyModuleName/ChangeLog.txt
Version update 1.161 -> 1.162
-----------------------------------
Update of /opt/CVSROOT/MyModuleName
In directory
workstation13:/home/pto/MyModuleName


Modified Files:
      ChangeLog.txt
Log Message:
I have just inserted some text and make commit of this
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Best

Peter Toft, Ph.D. address@hidden http://pto.linux.dk

LinuxForum 2006 - Wanna join? March 3. + 4. 2006.
http://www.linuxforum.dk - call for abstracts open now!


_______________________________________________
Info-cvs mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/info-cvs




reply via email to

[Prev in Thread] Current Thread [Next in Thread]