[cvsnt] Trying to implement commit template

Arthur Barrett arthur.barrett at march-hare.com
Wed Feb 13 09:17:21 GMT 2008

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.


>I have been tinkering with this with no chnage in my status.  I still 
>cannot get this to work
>  (i.e. create the template file on checkout).

I've just followed the instructions I posted on the 30th Jan and it worked 
first time:
1. create a new repo and import a module (eg: repo 'testrepo' module 'test')
2. checkout CVSROOT from the new repo
3. add template.txt to the checkoutlist file
4. create the template.txt file (in the CVSROOT sandbox)
5. 'cvs add' the template.txt file to the CVSROOT sandbox
6. the add an example line to the rcsinfo file from the previous newsgroups 
postings, eg: something like:
DEFAULT  C://myCVS//testrepo//CVSROOT//template.txt

7. commit the CVSROOT sandbox (will commit checkoutlist, template.txt and 
8. checkout the 'test' module
9. check that template.txt is in the hidden CVS directories
10. if template.txt isn't checked out then delete the 'test' sandbox and 
re-checkout using cvs -ttt co and go through the logfile looking for 
template.txt or other errors.

I:\renametest>cvs -d :sspi:w2k3clstr:/myrepo co CVSROOT
cvs server: Updating CVSROOT
U CVSROOT/checkoutlist
U CVSROOT/commit_email
U CVSROOT/commitinfo
U CVSROOT/config
U CVSROOT/cvswrappers
U CVSROOT/historyinfo
U CVSROOT/keywords
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/modules2
U CVSROOT/notify
U CVSROOT/notify_email
U CVSROOT/postcommand
U CVSROOT/postmodule
U CVSROOT/precommand
U CVSROOT/premodule
U CVSROOT/rcsinfo
U CVSROOT/shadow
U CVSROOT/tag_email
U CVSROOT/taginfo
U CVSROOT/triggers
U CVSROOT/verifymsg

I:\renametest>cd CVSROOT

I:\renametest\CVSROOT>notepad checkoutlist

I:\renametest\CVSROOT>notepad checkoutlist

I:\renametest\CVSROOT>notepad template.txt

I:\renametest\CVSROOT>cvs add template.txt
cvs server: scheduling file `template.txt' for addition
cvs server: use 'cvs commit' to add this file permanently

I:\renametest\CVSROOT>notepad rcsinfo

I:\renametest\CVSROOT>cvs ci "new template"
cvs commit: nothing known about `new template'
cvs [commit aborted]: correct above errors first!

I:\renametest\CVSROOT>cvs ci -m "new template"
cvs commit: Examining .
Checking in checkoutlist;
/myrepo/CVSROOT/checkoutlist,v  <--  checkoutlist
new revision: 1.2; previous revision: 1.1
Checking in rcsinfo;
/myrepo/CVSROOT/rcsinfo,v  <--  rcsinfo
new revision: 1.2; previous revision: 1.1
RCS file: /myrepo/CVSROOT/template.txt,v
Checking in template.txt;
/myrepo/CVSROOT/template.txt,v  <--  template.txt
initial revision: 1.1
cvs server: Rebuilding administrative file database

I:\renametest\CVSROOT>cd ..

I:\renametest>rd /s /q projects

I:\renametest>cvs -d :sspi:w2k3clstr:/myrepo co projects
cvs server: Updating projects
cvs server: Updating projects/src
U projects/src/hello.cpp
U projects/src/hello.h
U projects/src/test.txt

I:\renametest>cd projects/src

I:\renametest\projects\src>dir cvs
 Volume in drive I is I:
 Volume Serial Number is 0844-8478

 Directory of I:\renametest\projects\src\cvs

13/02/2008  20:12               134 Entries
13/02/2008  20:12                87 Entries.Extra
13/02/2008  20:12                 0 Entries.Extra.Old
13/02/2008  20:12                 0 Entries.Old
13/02/2008  20:12                14 Repository
13/02/2008  20:12                25 Root
13/02/2008  20:12                24 Template
               7 File(s)            284 bytes
               0 Dir(s)   5,036,216,320 bytes free

I:\renametest\projects\src>type cvs\Template
CVS: this is a template

I:\renametest\projects\src>type ..\..\cvsroot\checkoutlist
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
# File format:
#       [<whitespace>]<filename><whitespace><error message><end-of-line>
# comment lines begin with '#'

I:\renametest\projects\src>type ..\..\cvsroot\rcsinfo
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT.  For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
# If the repository name does not match any of the regular expressions in 
# file, the "DEFAULT" line is used, if it is specified.
DEFAULT  D://myrepo//CVSROOT//template.txt

I:\renametest\projects\src>type ..\..\cvsroot\template.txt
CVS: this is a template

I used an internal testing release that is essentially identical to



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