We need multi-wc-format for issue #525 pristines-on-demand, as discussed
in the long thread "A two-part vision for Subversion and large binary objects."

It is designed to be a generic framework, not tied to a specific
feature, so while I will do some tests on a local merge of
pristines-on-demand on top of multi-wc-format, we should merge them to
trunk separately.

This is a heads-up that I'm going to look at getting this ready for
merge to trunk over the next few days.

>From the last report I read, and a quick examination recently, it looks
like there is nothing but minor fix-ups needed. That's my hope.

Tests:

One possible substantial thing we might need is regression tests. From
my understanding of what this feature does, however, there is not much
to test. Basically, given:

  - a WC where (format >= SVN_WC__SUPPORTED_VERSION
    and format < SVN_WC__VERSION)

if:

  - Subversion works the same as (format == SVN_WC__VERSION); and
  - Subversion neither upgrades the WC nor reports that an upgrade it needed;

that is all we need to know.

There are some special cases such as "svn upgrade" tests.

For all other cases, with "white box" knowledge (knowing how this code
works) we can write a single test for this case and be fairly well
convinced it will work everywhere. It doesn't seem necessary to automate
running over the whole test suite with (format < SVN_WC__VERSION). It
may be useful for me to make a way to run the test suite manually with
that condition, in order to check for special cases.

And I wrote earlier (January 14) "the 'compatibility' we're speaking
of here is just whether the client accepts the format number as one that
it can work with, and if not then it errors out with the "client too
old" error..."

So we may need an additional test for the "WC is too old" case, if
adjusting the existing tests doesn't seem sufficient.

Does that sound about right?

Anyone who has an interest in this, please join in.

- Julian

Reply via email to