On Tue, Feb 23, 2010 at 10:21, <philip_at_apache.org> wrote:
> Author: philip
> Date: Tue Feb 23 15:21:02 2010
> New Revision: 915378
> URL: http://svn.apache.org/viewvc?rev=915378&view=rev
> Remove svn_wc__entry_modify2 from svn_wc__db_temp_op_delete.
> * subversion/libsvn_wc/wc_db.c
> (svn_wc__db_temp_op_delete): Use a new implementation.
I like the direction this is headed.
I'm think that we may want to promote this function to
svn_wc__db_op_delete() and document that op_delete is NON-RECURSIVE.
And further state, that all children must be deleted FIRST (and assert
that in the func!).
I think. Not entirely sure. For example, deleting children of a copied
subtree leaves nodes with the 'not-present' presence. So as you delete
all the children, this is what you'd set them to. HOWEVER, when you
finally delete the root of that copy, then you must re-traverse the
subtree: remove all nodes that have no underlying BASE node, and
convert any that *do* over to presence='base-deleted'. And that would
have to happen in a big ol' transaction.
But one nice thing about defining op_delete as non-recursive means
that it is interruptable. At any point, the user could stop, leaving
the working copy in a sane state.
Skipping a review. I've reviewed the (current) code, and have a few
mods which I'll commit in a bit.
See my other note, however, for removing the db_working_get_status()
function in favor of sticking to read_info().
Received on 2010-03-11 05:25:56 CET