On Tue, Feb 23, 2010 at 10:21,  <phi...@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
> Log:
> 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().

Cheers,
-g

Reply via email to