[cvsnt] OT: CVSNT Future Data Store (was Re: cvsnt status)

SteveC stevec at atomic9.net
Tue Jul 15 19:19:28 BST 2003


Just a thought on plans to back CVSNT with a "real" data store.  Why not
place an abstraction layer or 2 between CVSNT and the store (essentially
making the software 3-4 tier)?  If an object (Java Bean, COM+ server
app, stand-alone exe) sits between CVSNT and the store, then probably
any store could be used, as long as it supported say something minimal
like SQL-92.  CVSNT wouldn't have to know it was talking to something
other than the filesystem at all.  The first data-access layer would
take the CVSNT command, wash it through a regex to make sure it was "SQL
palatable" and the second would run the command against the store; no
stored procedures (initially?).

Maybe CVSNT could be recompiled to the .NET Framework, running under
MS's CLR on Win32 and Mono on OS-X/FreeBSD/Linux.  I think it might be
easier then to abstract data access to a database vs fileystem and back,
again with the idea that any SQL-compliant store could be used.

I think that would get away from the problem "what database to bind to?"
and make it the end user's problem.  :)


Or if going down the MSSQL/MSDE route, perhaps require the installation
of the SQLXML extensions.  Then CVSNT could make SOAP or simple
UpdateGram/DiffGram calls to the database.  I imagine there would be an
additional speeed penalty, especially with bin files, as things are
serialized or wrapped in XML.  But if you want wide-area source control,
SQLXML over HTTP(s) would do it.

Btw, MSDE is just MSSQL, but
  1.  There is a hardcoded process governor that allows 
      5 simultaneous requests (not threads, requests) 
      to run simultaneously, reqs 6+ must queue
  2.  It's free
  3.  There are no GUI client tools (but the same
      COM-callable interface is there to do work and
      if you get them somewhere else you can use them
      on MSDE)
  4.  I don't think it supports named instances, 
      not that they would be necessarily needed by CVSNT
  5.  Single database size is limited to 2gb
      but if a module == a database 
      that wouldn't have to be a problem

But I think doing MSDE/MSSQL would kill CVSNT on the *nix side of the
house, not a good thing.



Hope that helps somebody do something.  :)



stevec at atomic9.net



More information about the cvsnt mailing list