[cvsnt] using commitinfo within CVSNT

Suresh Venkateswaran suresh.venkateswaran at us.ibm.com
Tue Nov 11 17:49:33 GMT 2003





That works like a charm! Thanks for your help and god bless open source :-)

Regards,
Suresh Venkateswaran.



                                                                                                                                       
                      "Czarnowski,                                                                                                     
                      Aric"                    To:       Suresh Venkateswaran/San Jose/IBM at IBMUS, "Glen Starrett" <grstarrett at cox.net> 
                      <aczarnowski at unim        cc:       <cvsnt at cvsnt.org>                                                             
                      ax.com>                  Subject:  RE: [cvsnt] using commitinfo within CVSNT                                     
                                                                                                                                       
                      11/11/2003 09:40                                                                                                 
                      AM                                                                                                               
                                                                                                                                       
                                                                                                                                       




> Glen, it looks like I am still not picking it up
> right. Here is the code and output:

my $file = <STDIN>;

will only pull the first entry off the filehandle because your calling
<STDIN> in scalar context.  This is what I use at our site in
commitinfo.pl to handle both older and newer CVSNT:

--BEGIN PERL SNIP--

# After testing it looks like CVS sends in the module and file stuff
# automatically
#
$commitUser = shift(@ARGV);
$module = shift(@ARGV);

# Unlike loginfo, commitinfo *does not* quote the files names so they
look like
# one big argument to perl.  So, we can just take the remainder of @ARGV
as the
# file listing instead of working to split that back up.
#
@files = @ARGV;         # Older versions of CVSNT pipe files on the cmd
line
push(@files, <STDIN>);  # Newer versions of CVSNT pipe files across
STDIN

foreach my $file (@files) {
             chomp($file);

             ## YOUR CODE HERE ##
}

--END PERL SNIP--

The commitinfo.pl script is called with the following line from
commitinfo.  Note that I do call Perl explicitly and perl.exe is in the
system PATH:

ALL perl $CVSROOT/CVSROOT/commitinfo.pl $USER

You will want to chomp() each filename in @files after this to be safe.
Hope it helps,

Aric

Aric Czarnowski
Unimax Systems Corporation
612-204-3634





More information about the cvsnt mailing list