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.
On Tue, 13 Dec 2005 14:16:54 -0200, Gerhard Fiedler <lists at connectionbrazil.com> wrote: >Bo Berglund wrote: > >> You have failed to notice that the loginfo script is called once for >> *every* folder in the committed tree. That is to say that CVS processes >> *one* folder at a time on the server even though you are recursing down >> the folder tree on the client. > >So you are saying that the cvsnt manual is wrong here? From the manual: > >"loginfo: The specified program is called when the commit is complete. It >receives the log message and some additional information and can store the >log message in a file, or mail it to appropriate persons, or maybe post it >to a local newsgroup, or... Your imagination is the limit!" > >To me, it seems pretty unambiguous about the loginfo being called "when the >commit is complete" -- which I interpret as "the commit command execution, >including all files that this command commits," being complete. It is ambiguous, but in fact cvs.exe is called by the cvs service once for each folder being processed. This cvs.exe process does its work in the folder and then finally *whenit is done* it calls the loginfo script and exits. Whereupon the service starts te next copy of cvs.exe on the next folder etc. So that is the context in which it is "complete". > >> This was one of the main headaches when I developed CVSMailer so that I >> could get one single email on a commit no matter how many folders the >> commit processed. > >Would the postcommand file a better candidate for calling the mailer? Or >does it also work on a directory-by-directory basis rather than a >command-by-command basis? No it works on the total cvs operation end. > I have indeed already partly done this! As soon as the postcommand was available I added an option to let the final mail send be trigered from postcommand rather than by a delayed action from one copy of CVSMailer. This way the mail gets out immediately upon the end of the commit operations. But I still have to collect the file information from each and every invocation of cvs.exe on these subfolders to create what will eventually become the message sent by postcomand. /Bo Berglund