Actions:
|
2015-02-20 11:09 AEST by Arthur Barrett - In CVSNT there is an 'advanced' option to enable atomic checkout, see:
http://cvsnt.org/manual2/html/Concurrency.html
The documentation does not make it clear that the feature must be enabled on the server.
I vaguely remember Tony saying there were some cases where it didn't work well, so he removed it
entirely from the 'community edition' but we left it in the commercial edition and made it an option (which
is off by default).
It would be worthwhile documenting exactly what the limitations of this is. It'd be worth looking at the
code, but also running some 'real world' tests.
Tools like Jenkins attempt to enforce atomic checkout by using a date/time stamp with 'cvs co', which I
suspect is extremely inefficient:
cvs -d :local:/myrepo checkout -P -D 17 Feb 2015 15:17:08 -0500 -d PXX PXXEad
Note: the O'Rielly book specifically mentions CVS NOT being atomic, so there is a lot of (mis)information
to address...:
http://commons.oreilly.com/wiki/index.php/Essential_CVS/Using_CVS/Tagging_and_Branching
To do list:
- update CVSNT documentation (manual, and ebook) with info on atomic checkout
- supply 'is atomic checkout enabled' information from server (maybe in cvs info)
- submit a patch to the Jenkins plugin to support CVSNT atomic checkout |