On Wed, 2010-10-06 at 09:32 +0100, Philip Martin wrote:
> I'd like to enable NODES as a replacement for BASE_NODE and
> WORKING_NODE.  This would involve bumping the format number, and old
> working copies would get automatically upgraded.

+1 from me, ASAP.

We're still working on the op_depth support and it's more complex than I
originally thought.  It looks like doing this transition in two separate
format bumps will be more expedient.

Please give me 24h to change the order of NODES columns first - see
separate email.

- Julian


> This is not the final NODES data model.  It currently just uses
> NODES.op_depth as 0 or 2 to indicate the equivalent of BASE_NODE and
> WORKING_NODE.  Another wc upgrade will be required in the future to
> enable full op_depth behaviour.
> 
> The advantages of the proposed upgrade include: dropping the
> conditional code, having everyone exercise the new code.
> 
> The disadvantages include: a wc upgrade, the testsuite is slightly
> (maybe 2% on my machine) slower.
> 
> If you build the current format 19 with SVN_WC__NODES then both NODES
> and BASE_NODE/WORKING_NODE tables are created.  DB writes modify both
> NODES and BASE/WORKING and DB reads check that the same data is
> obtained from NODES and BASE/WORKING.  The regression tests pass like
> this so we have confidence that NODES is an adequate replacement for
> BASE/WORKING.
> 
> If you build format 19 with both SVN_WC__NODES and SVN_WC__NODES_ONLY
> then only the NODES table is written and read, BASE/WORKING remain
> empty.  The upgrade would be using this code, but would also enable
> the upgrade and dropping of the BASE/WORKING tables. The change would
> be the patch below:
> 
> * subversion/libsvn_wc/wc.h
>   (SVN_WC__VERSION): Bump to 20.
> 
> * subversion/libsvn_wc/wc.h
>   (STMT_UPGRADE_TO_20): Renamed from DISABLED_STMT_UPGRADE_TO_20 and
>    enabled, drop the "inherited" BASE_NODE format 99 stuff.
[...]


Reply via email to