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

Re: Format 20 upgrade to NODES

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Wed, 06 Oct 2010 12:12:59 +0100

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.
[...]
Received on 2010-10-06 13:13:45 CEST

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.