[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: CVS update: subversion/subversion/include svn_fs.h

From: Greg Stein <gstein_at_lyra.org>
Date: 2000-09-07 21:51:21 CEST

On Thu, Sep 07, 2000 at 05:13:25PM -0000, jimb@tigris.org wrote:
> User: jimb
> Date: 00/09/07 10:13:25
>
> Modified: subversion/include svn_fs.h
> Log:
> Reasonably complete first cut at filesystem interface. Includes
> reading and writing, with transactions. Not included yet: delta
> computation, non-historical properties.

I don't see a mechanism in there where I can save a transaction off to the
side, to be picked up later by a different process or thread.

Hmm. And I recall you posted a question about "how long is 'long'?". Not
gonna go find it. Basically, I'd like to open a transaction, process some
operations (that occur over multiple HTTP requests; therefore, over multiple
processes/threads), and then commit/abort the transaction.

The operations would look something like:

    svn_fs_new
    svn_fs_open
    svn_fs_begin_txn
    persistable_id = svn_fs_persist_txn
    svn_fs_close
    
    {
        svn_fs_new
        svn_fs_open
        svn_fs_restore_txn(persistable_id)
        ... ops ...
        svn_fs_close
    } repeat
    
    svn_fs_new
    svn_fs_open
    svn_fs_restore_txn(persistable_id)
    svn_fs_commit_txn
    svn_fs_close

The sequence will be serialized, but will occur across multiple
threads/processes. As a result, the transaction ID needs to be an "int" oor
some kind, or a blob of bytes, either of which I can persist to a file.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:07 2006

This is an archived mail posted to the Subversion Dev mailing list.