I use CVS to manage a number of projects. When possible, I use a central repository and link to it either locally or through a tunnel. But sometimes I have to work on a CVS project at a location that has no Internet connectivity. For that, I've routinely carried repository trees around as follows:
1. Tell everyone that they should not modify the central tree, then check out the current HEAD from the tree of interest somewhere at the office so I can use it as a sanity check when I get back. 2. Zip up the tree, take the zip to the work site, and unpack it there into a freshly initialized CVS tree. 3. Work as usual, checking out, modifying files, and committing as needed. 4. Zip up the on-site tree, bring it back to the central server, and use the zip to replace the original tree. 5. Do a cvs update in the sandbox I created in step 1 as a sanity check. This process has worked fine except for the occasional issue with a file being renamed in the repo by something to the same name with different letter casing, my best solution to which has been a little hand-editing of CVS/Entries files in sandboxes (despite many remonstrances against this in a recent thread on this list). This week though, I decided to extend the concept a bit, and I ported a whole raft of things from the central repository over to a thumb drive, then worked on things while on the road. I planned to use `diff' on returning home to detect changed repo files, then drop in the on-the-road versions as needed. I was thwarted, though, by a whole mess of directories whose names had magically become upper-cased on the thumb drive. As a result, what should have taken me some 20 minutes max took hours to straighten out. I know straight CVS does not have support for offline commits etc. and that svk does, but moving from CVS to Subversion or Superversion at this point would be a pretty major undertaking. I prefer a saner method of doing what I do now, within CVS with the inclusion of add-on software if necessary. My ideal situation would be the ability to "check out" a repo tree and leave it locked in the central repo if necessary while I'm gone, make my commits etc., then easily "check in" the modified offline repo tree on returning, without having all this trouble with letter casing in file and directory names. The ability to allow in-office commits simultaneous with out-of-office offline commits would be wonderful, but I don't know how practical that is. A couple details possibly worthy of note: The central server is a FreeBSD box running CVS 1.11.17. The sandboxes are typically created on Windows machines using CVS 1.11.9. (If it will help, I can upgrade the Windows machines to 1.11.17.) I do occasionally make checkouts under FreeBSD or Cygwin, but I never handle a given sandbox with a different OS than the one that created it. I've seen discussion of a commercial CVS replicator on this list but didn't pay close attention. A low-cost commercial package is possible, but an expensive one, or one that is priced per user, is not likely to make it into the picture right now. I doubt a simple use of `rsync' would be sufficient given the letter casing issues I keep hitting. It actually seems like I'm really looking for a CVS for CVS repositories, where my thumb drive or on-site repo copy is a sandbox and the central repo itself is another sandbox that remains always checked out; but the idea of merging changes to a repo file sort of boggles my mind a bit. :-) All advice welcome. Thanks much. -- Doug Lee [EMAIL PROTECTED] http://www.dlee.org BART Group [EMAIL PROTECTED] http://www.bartsite.com "Nearly all men can stand adversity, but if you want to test a man's character, give him power." -Abraham Lincoln _______________________________________________ Info-cvs mailing list Info-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/info-cvs