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 email@example.com.
Hi, Concerning the many emails, yes you get many. But this is not one email per file, rather it is one email per module (directory) since that is the package CVS handles in one operation. Single mails come out if there are watches set and you have activated the notify script as well. Notify is really bad, because it is invoked once for each file AND for each user having a watch set! So for a change on 10 files where 5 users have watches set no less than 50 emails are generated by 50 calls to CVSMailer (in this case)!! Concerning the long line: If you have followed the CVSNT mail list (or better used the newsserver at cvsnt.org) you would have seen a number of threads on this subject. I noticed a problem myself in September when one of my developers tried to tag a module with a large number of files with rather long names too. What happened is that Windows NT gave the cvsnt service an exception error when it tried to invoke the CVSMailer program. The error was generated inside the cvsnt code itself when the command line passed to NT was too long. After some investigation I have found that somewhere between 4000 and 6000 characters is the maximum length that can be passed as command line parameter to a shelled process. Actually the whole CVS method of passing parameters to a script is flawed, but this is true also for Unix. CVS should not pass info as command line parameters if the info is a list of files and revisions like here, because CVS cannot know how long this list may eventually become. Better to send those data on Standard Input instead. I suggested this change to Tony Hoyle and he just the other day changed it this way in a non-released version. I am currently testing this new version to see if it handles the files better now. But there is a cost to doing this particular change, it breaks backwards compatibility unless it is made configurable. I am working on consoliating all of these into single larger emails, first I am handling the loginfo script data, then taginfo and if time is enough also notify. I will post to the CVSMailer subscribed users when it is ready. /Bo -----Original Message----- From: James Pownell [mailto:jpownell at inflectionsystems.com] Sent: den 18 november 2002 18:58 To: bo.berglund at telia.com Subject: Tagging mails Bo, I just turned on the tag mail and it seems to generate a mail for each file that is tagged. We have some directories with quite a few files and we got a line too long error while the mail was on. Have you seen this before? Here's the taginfo file, no commented out. ----------- # The "taginfo" file is used to control pre-tag checks. # The filter on the right is invoked with the following arguments: # # $1 -- tagname # $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d # $3 -- repository # $4-> file revision [file revision ...] # # A non-zero exit of the filter program will cause the tag to be aborted. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being committed to, relative # to the $CVSROOT. For the first match that is found, then the remainder # of the line is the name of the filter to run. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name "ALL" appears as a regular expression it is always used # in addition to the first matching regex or "DEFAULT". # ALL C:\CVSNT\CVSMailer.exe -t $USER $CVSROOT