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

issue 388

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2001-06-11 23:29:39 CEST

Issue 388 is simple. If a commit fails part-way through, the
svn_error_t is thrown all the way back up to the client *without*
cleaning up the fs transaction.

(While we acknowledge that *some* orphaned fs transactions are
inevitable -- such as those from lost network connections -- this is a
case where we orphaned transaction is inevitable.)

Right now, here's the way commits work:

  client library:
      drive commit editor

The problem here is that the client needs to be able to tell the RA
layer to nuke the transaction if any error happens during the

The Right way to do this, I think, is to add a new RA routine:

   svn_error_t *(*abort_commit) (session_baton, edit_baton);

It's not enough to put this routine on 'far' side of the RA interface;
errors might happen within the 'nearby' editor-driver, and the client
needs a way of telling the server that he's elegantly bailing out.

gstein, any objections to this? I can easily make this change happen
in ra_local. But for ra_dav, it probably means you'll need to send
some new DAV command over the wire. I can put a dummy func into
ra_dav for now.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:31 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.