On Wed, 14 Apr 2004 Jean-Francois.Doyon@CCRS.NRCan.gc.ca wrote:
Right now the fs implementation stores "script commands" that are cummulated upon connect() (I think?), validated as best as possible upon vote() and run upon finish(). I don't see why this couldn't be adapted to SVN txn's ... connect() = start a txn, vote() = validation (what this entails needs to be defined, could involve delta operations, revision number matching, etc ... ?), finish() = commit the svn txn.
The transaction script is necessary for exactly one thing: translation between OIDs and paths. I agonized over this for months, but translating OIDs to paths simply requires complex machinery like this. Also, there is only one reason we have to translate OIDs to paths: opening files by inode number is disallowed (and probably unreliable) in most operating systems. In Subversion, is it possible to read/write a versioned object by unique identifier rather than by path? If so, it's a great blessing and we don't need a transaction script. Shane