[cvsnt] FW: CVSNT / CVSMailer Consolidation Question

Bo Berglund bo.berglund at telia.com
Wed May 14 06:35:55 BST 2003


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.


Gosh,
CVSMailer is not really part of CVSNT and does not belong here...

But I will explain:
For every client operation performed, say a commit on a module, cvs
server will do its stuff partitioned into one operation per folder.
Each such operation results in one call to the loginfo script and
potentially to one email if this is what the script does. (The action
that is requested is completely controlled by what is put into the
script by the cvs administrator.)
Now, when I started CVSMailer I soon got tired of this "spamming" so I
investigated how I could consolidate it all into a single message per
user operation.
The way I do this is that I am finding out the process ID of the
bottom CVS function on the server, then with that I obtain the process
start time in nanoseconds and with the least 32 bits of that I create
a temp folder on the server where I store the results that would
otherwise have been sent immediately. Then after a configurable time
CVSMailer collects all contents of this temp folder into a single
email, sends it and deletes the folder.
This scheme makes it possible to keep separate the building of emails
for cvs operations that have been started from different users
approximately at the same time so they overlap in the consolidation
time. Each such will have a new PID and so a different temp folder.

What you seem to want is a consolidation not only for all operations
started by a single user call but really you seem to want to collect
all such emails into a single "digested" email, or am I wrong?
This may of course also be possible, but not using CVSMailer the way I
designed it. In this case you must somehow arrange it such that
CVSMailer creates the temp data as described above but then it does
not send it out. Instead another process must be created (perhaps an
AT schedule on the server) that regularly starts and collects the
contents of all temp folders into emails that are then pasted together
into a digest and sent out. This is not how I do it.

You might try to send each message just to one mail account, then set
up a POP3 program to retrieve all emails from that at 4 hour interval
and forward them (pasted together of course) to the subscribers. Then
you may use CVSMailer as the creator but you will get the digest done
by your own program.

For a time I was also investigating how to post the messages on a
newsserver instead of mailing them out. But it turned out that a news
server could not be set up on a Windows NT WorkStation, you needed a
server class machine (why, Microsoft?). Since I did not at the time
have a server I had to let that drop.

Hope this explains things a bit...

/Bo


On Tue, 13 May 2003 23:32:44 +0200, "Iwan" <java at i-ware.net> wrote:

>Hmmm, any other way to get around this? I would really like to have the
>functionality of consolidating commits over quite some time, say 4 hours.
>Such that people are either waiting for changes and updating themselves, or
>are notified twice a day.
>
>Alternatively, maybe it is possible to subscribe per module to be notified?
>
>Iwan.
>


/Bo
(Bo Berglund, developer in Sweden)


More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook