Version 1 of pure tcl cvs client

Updated 2004-10-15 12:01:57 by jcw

A client for CVS in pure tcl. - CMcC 20041015

The intention is to embed this in other applications, rather than support it as a stand-alone application. In particular, a cvsvfs will be written to provide a virtual filesystem which keeps itself in sync with a CVS repository.

At the moment, it only supports :pserver: read access, sufficient to checkout a module from a repository, and update it ... so it can be used to keep a directory hierarchy up-to-date with a cvs server.

The snapshot can be downloaded here: http://sharedtech.dyndns.org/~colin/tclcvs.tar.gz

Future Work:

  1. write a tclvfs wrapper for tclcvs
  2. support commit and add
  3. documentation and tests
  4. :ext: server support.

Note: CVS is a horrible, horrible protocol. The justification for implementing it is its omnipresence. It should be possible, with this code, to implement self-updating packages.

15oct04 jcw - Wow. Do you see any potential issues with tying a slow CVS access to VFS? In other words, do you expect VFS to work ok with high latencies and timeout failures, or will VFS itself need further work to get to that stage?