[cvsnt-dev] Where to go from here

Tony Hoyle tmh at nodomain.org
Mon Mar 22 14:27:25 GMT 2004

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.

For the moment, if we forget the work done on the modular
architecture... given a clean slate what is needed for next-gen cvsnt?

My thoughts are:

1. Compatibility with existing clients, as far as possible.
2. Support for concurrent development and reserved checkouts.  The
ability to mix these models (within reason).
3. Support for as much expansion as possible - eg. not tied to RCS,
able to interate with other VCS (SVN, Perforce, etc.) (note for some
VCS such as Arch this may be technically very difficult.  My gut
feeling is that this is possible on some level though).
4. following on from (3), a DAV interface so you can mount the thing
as a network share and do reserved checkouts from within MS word.
This makes the whole thing useful as a generic document server as well
as a VCS.
5. Renames, etc. built in.
6. Atomicity - we have checkout atomicity but not checkin atomicity at
the moment... some form of transactioning would be nice for this.
7. Easy upgrade path (click on setup.exe, click on 'Yes' to upgrade,
and you're done).  Downgrade path, if possible.

The options I can think of so far:

1. Start again.  Long - 6-9 months full time to get *anything*, and
I'm not full time...
2. Use an existing next-gen VCS (eg. Subversion), and add the required
missing functionality.  Tempting, certainly, but it's still a
non-trivial task (SVN for example has no Unicode support, and no
concept of reserved edits...  plus mapping some operations to the
Client/Server protocol is quite challenging).
3. Parallel-develop new code an slowly replace the existing code,
keeping a functional version at all times.  Still long, as in 1., but
has the advantage at each stage there's a working build.

I actually chose 3. because it gives me the ability to do 2. as
well...  that's where the modular architecture comes in (next post).

(feel free to rip these ideas apart, etc.)

More information about the cvsnt-dev mailing list