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.
First off I'll get the warning out of the way: * Don't use this on a production server. In particular if you enable certain features there is NO GOING BACK. A lot of work has been done on the RCS code and I can't guarantee 100% you won't lose anything * However if you're curious and don't mind doing some bug hunting then setting up a test repository and playing with it is a good idea. New features (summary): Flexible CVSROOT parsing HTTP Proxy support Test script Quiet diff Binary delta support Server can request or require encryption Server can request or require compression Selection of alternate cvs administrator groups Import can create CVS/ directories Repository activity monitoring via Lock Daemon postcommit script run after commit finished Repository prefix obeyed on all output Filename selection on 'cvs ls' rlog -S support Server side cvsrc RCS code restructure New features (long bit): Flexible CVSROOT parsing: The following are all now valid... :pserver:foo at bar.com:2401/repository :pserver;port=2401:foo at bar.com:/repository [method=pserver,port=2401,user=foo,host=bar.com,path=/repository] ... and lots of combinations of the above. HTTP Proxy support: OK I don't like it but it kind of fell out as easy to do after rewriting the root parsing... :pserver;proxy=server.foo.com;proxyport=500:foo at bar.com:/repository (there's also proxyprotocol, proxyuser and proxypassword for future enhancement). Test Script: I now test the release using a python script, which is in the 'testcvs' directory of the source release. It's quite simple at the moment and needs lots more tests, but it's a start. Quiet diff: 'cvs -q diff ....' will strip some of the cruft from the cvs diff files, so they look more like standard diff files on output. Binary delta support: Not enabled by default (because it causes RCS file format changes) this uses the xdelta library to find the smallest delta between binaries. To enable this mode you have to put 'CompatMode=No' in the CVSROOT/config. *After this has been done you cannot go back - it changes the format of the RCS files as they are rewritten. You have been warned* Server can request or require encryption: Server can request or require compression: These options allow you to control how people access your repository. Useful if you're on a slow link or would rather people don't send the data plain-text over the internet. Selection of alternate cvs administrator groups: As well as using the default administrator account on the domain, you can tell the server to use any group as a cvs administrator group (requires SystemAuth=Yes). Import can create CVS/ directories: The new 'import -C' option creates default CVS/ directories whilst importing a new repository. It has to guess at some things, but should be correct for a standard import. Repository activity monitoring via Lock Daemon: The lock daemon now supports a 'Log' command that gets the cvs history data real-time. In theory this should allow clients to know when files are changed on the server w/o having to run 'update'. The 'Monitor' command now has filtering to facilitate this. It takes a parameter that states which information the client is interested in: C - Client log on/off L - Lock creation/Deletion H - History data Or any combination of the above. postcommit script run after commit finished: After the loginfo/commitinfo scripts are run and the locks have been removed from the repository, the postcommit script is run, within which it should be safe to run checkouts for websites, etc. Repository prefix obeyed on all output: All RCS/CVS output is filtered through the repository prefix. Filename selection on 'cvs ls': You can now select filenames to list via 'cvs ls'. The syntax is Unix egrep format, which works enough like DOS format to get away with it most of the time: cvs ls foo\*.asp - works cvs ls foo\*asp - the same as above (the '.' just means 'any character') cvs ls foo\^.*\.asp$ - probably what you meant really... but if the first one works... rlog -S support: This supresses output when the select revision count is zero. Server side cvsrc: You can now make compatible (ie 1.11.1.4) clients have default options for a repository, by putting the data in CVSROOT/cvsrc. RCS code restructure: I've restructured the RCS code so it doesn't leak file handles as much, which should help with the 'can't rename' errors that occur sometimes. There's probably other stuff I've forgotten about. A lot of this is barely tested at the moment... I'm pushing it out there to see what you guys think and so you can break it for me :-) Tony