[cvsnt] Which program removes the "CVS:"?

Mitch Davis Mitch.Davis at EXTEL.COM.AU
Tue Jun 24 05:48:57 BST 2003


Hello CVS users,

I'm having trouble with TortoiseCVS checkin
messages.  In particular, with removal of lines
starting with "CVS:".

With either Unix CVS or CVSNT, checking in a file
without a log message causes an editor invocation.
On exit from the editor, lines starting with "CVS:"
are removed from the log message before the message
is sent to the server.

Using either Unix CVS and CVSNT to check in a
file with -m does NOT cause the "CVS:" lines to be
removed.  Maybe this is by design.

When checking in files with TortoiseCVS, the
checkin dialog shows the CVS: lines.  These
CVS: lines are NOT removed when it calls CVSNT,
for example:

  In C:\Design\test: "E:\Program Files\CVSNT\cvs.exe" -q commit -m "CVS:
Extel Commit Messages
  CVS:
----------------------------------------------------------------------
  CVS: You must enter an issue number (eg TT1234) or a project billing code 
  CVS: (eg P2740) along with the the task name on this line:
  P0010 CVS Maintenance
  Fourth test." mjd/1999.txt
  CVSROOT=:ext:cvssrv:/home/cvs

And thus the CVS: lines get sent to the server
and added to the history for this file.  Urgh.

How can I prevent this?  Is TortoiseCVS responsible
for fully removing the CVS: lines before passing
them to the CVSNT client?

For what it's worth, I think TortoiseCVS is removing
*some* of the CVS: lines, but not all.  Here's the
template message in the dialog:

> CVS: Extel Commit Messages
> CVS:
----------------------------------------------------------------------
> CVS: You must enter an issue number (eg TT1234) or a project billing code 
> CVS: (eg P2740) along with the the task name on this line:

And here's the log message when I do a checkin using
the CVSNT command-line client:

> CVS: Extel Commit Messages
> CVS:
----------------------------------------------------------------------
> CVS: You must enter an issue number (eg TT1234) or a project billing code 
> CVS: (eg P2740) along with the the task name on this line:
> CVS:
----------------------------------------------------------------------
> CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
> CVS: 
> CVS: Committing in .
> CVS: 
> CVS: Modified Files:
> CVS: 	1999.txt 
> CVS:
----------------------------------------------------------------------

(Yes, we are using a custom "rcsinfo" checkin message.  It's
stored on the server in Unix LF format.  It appears on a PC
as CVS/Entries/Template, also in Unix LF format.

Is this a bug in TortoiseCVS?  Is this why TortoiseCVS is
unable to remove the CVS: lines?

I tried to hack around this by altering our commit
validation script to remove the CVS: lines on the
server.  The CVS source code seems to support rereading
the log file after the validate script:

http://cvs.cvsnt.org/cgi-bin/viewcvs.cgi/cvsnt/src/logmsg.c?rev=HEAD&content
-type=text/vnd.viewcvs-markup
(look for cvs_fread() in do_verify().  do_verify() is called from commit.c)

My validate script no longer complains, but the CVS:
lines still go into the file history.  So rereading
doesn't seem to be working properly on the CVS server.

Is this a bug in cvs (Red Hat cvs-1.11.1p1-7)?

Many thanks in advance for any advice,

Mitch.
---
mailto:mitch.davis at extel.com.au

----------------------------------------------------------------------------
------------------------
The information contained in this message and any attachments is 
confidential and intended for the named recipient(s). If you have received
this message in error, please contact sender by return e-mail and 
destroy the message and any attachments. 
Any opinions or undertakings expressed in this message are those of the 
individual sender except where the sender expressly and with authority 
states them to be the opinions of Extel. 
----------------------------------------------------------------------------
------------------------


More information about the cvsnt mailing list