[cvsnt] Notification behaviour

Czarnowski, Aric aczarnowski at unimax.com
Mon Dec 29 15:11:47 GMT 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.


> What puzzles/annoys me is that when I commit or 
> unedit the file, cvs notifies *ME* that *I* have
> made a commit/unedit since I have a temporary watch 
> on the file. 

That issue caught us too when we upgraded from a 1.11.X version to a
2.0.X version.  Tony mailed at the time that he isn't going to change it
now since that area is in the brainstorming phase for a rewrite anyway.
And it's more verbose than it needs to be so data isn't getting lost or
anything.

I agree it's pretty dang annoying, especially when every developer in
the company knocks on your door asking why they are getting new emails
all of a sudden.  :)

The problem is that user names come into notify in different cases and
so look like different users.  Lower casing everything and doing
compares ourselves in notify scripts is what fixed it for us.  I
attached a copy of our notify Perl script which should work anywhere
with a standard Perl.

This is something of a hack and you'll want to change the server and
domains to make sense in your environment obviously.  We use :sspi:
protocol and our login names are also our email addresses so this is
simple for us.  The notify file line that calls this looks like:

ALL perl $CVSROOT/CVSROOT/notify.pl $USER %s "CVS notification"

Hope it helps,
Aric



#!perl.exe
#

=head1 Introduction

Replacement for the default CVS notify email application hook.

=head1 History

 $Revision: 1.2 $
 $Date: 2003/10/14 19:49:06 $
 $Author: aczarnowski $

=cut

#
####################### BEGIN PARAMS
##########################################
$from = $ARGV[0];
$to = $ARGV[1];
$subject = $ARGV[2];

$server = "mail.company.com";

####################### BEGIN MAIN
############################################
# Get the default notification text from CVS notify's STDIN
@email = <STDIN>;

if(lc($to) ne lc($from)) {
	# Build up the email text
	$message = join("", at email)."\n\n";

	# Send the notification via email
	use Net::SMTP;
	$smtp = Net::SMTP->new($server);
	$smtp->mail($ENV{USERNAME});
	$smtp->to($to);
	$smtp->data();
	$smtp->datasend("To: $to\@company.com\n");
	$smtp->datasend("From: $from\@company.com\n");
	$smtp->datasend("Subject: $subject\n");
	$smtp->datasend("\n");
	$smtp->datasend($message);
	$smtp->dataend();
	$smtp->quit;
}

# Exit gracefully
exit(0);




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