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

Re: [Issue 730] - restartable checkouts

From: <sussman_at_collab.net>
Date: 2003-01-27 21:36:33 CET

Nuutti Kotivuori naked@iki.fi writes:

 Anyway, to wrap it up - I am now blocking on that one question I have,
 how do I build the transaction.

The client invokes a new reporter interface that says, My entries
file is incomplete, but I have these 5 things. That information gets
marshalled over the network to the real reporter vtable in
libsvn_repos. The vtable implementation compares the list of 5 things
to the actual list of children in the directory. Any child that isn't
one of the 5 is deleted from the transaction. Now the transaction
mirrors the working copy exactly.

That said, cmpilato and I have been chatting. An hour ago, I really
liked the second solution. It seems to be very CVS-like.

But now I'm having second thoughts. cmpilato points out that
implementing the second solution means adding a new API call, which
means

   1. adding it to three RA implementations
   2. marshalling it over two network protocols
   3. implementing the new call in libsvn_repos
   4. making sure mod_dav_svn maps to the libsvn_repos reporter correctly.

But implementing the first solution is much simpler:

   1. rewrite the internal implementation of svn_client_checkout
   2. *lose* all three implementations of RA-checkout().

The second solution adds a new API, and has to propagate it through
many, many layers. The first solution actually *loses* an API,
simplifying svn_ra.h.

So I think I'm changing my vote. :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 14 02:20:22 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.