On Fri, Jun 25, 2010 at 7:10 PM, Philip Martin
<philip.mar...@wandisco.com> wrote:
> Compiling with SVN_EXPERIMENTAL_PRISTINE causes pristine text to be
> stored in .svn/pristine/ using SHA1 filenames instead of
> .svn/text-base/ using filenames derived from the working file.  It's
> nearly complete enough to pass the regression test, I'm down to 4
> FAILs at present.
>
> I've reached the stage where I need to teach the regression test to
> find pristine text in the new locations, and the problem is that the
> testsuite doesn't know whether to look for the old or the new name.  I
> can hack it by having SVN_EXPERIMENTAL_PRISTINE no longer create the
> text-base directory, and use that to indicate which file to expect.
> However I think this is an indication that the wc format needs to be
> bumped.  Essentially you cannot mix clients built with and without
> SVN_EXPERIMENTAL_PRISTINE, neither handles the others working copy.
>
> There is already some upgrade code for SHA1 pristines, but it assumes
> that the in-db-props upgrade happens first.  So, I'm thinking of
> switching those two and making format 17 the one that enables SHA1
> pristines, leaving in-db-props to format 18.  Initially this would
> still be conditional on SVN_EXPERIMENTAL_PRISTINE, so in the short
> term people would continue to use format 16.

The upgrade code for pristines may not be complete, and isn't very
well tested.  I had some conversations with Greg about it at the
Hackathon, but haven't followed up.

Greg can correct me, but I believe the core idea was that instead of
just grabbing anything in the current text-base directory (which is
what we currently do), we should be looking at the db, and only
migrating test-bases which are actually used.  I believe the
alternative would be to use the current method, and then "scrub" the
pristines according to what is in the db.

-Hyrum

Reply via email to