Pristine text storage - status
From: Julian Foad <julian.foad_at_wandisco.com>
Date: Wed, 26 May 2010 14:53:02 +0100
Pristine text is now stored in the "Pristine Store" accessed by
With one more significant change (in the attached patch) it is "close"
Things keeping it in "experimental" mode:
* It's still suffering a few test failures - see below.
* The WC upgrade code isn't written - see below.
* The removal of unreferenced texts from the store is incomplete.
Things that are not blocking:
* Switch from using MD-5 checksums as the key, to using SHA-1.
(I think that's a nice separate task that we can do afterwards, or
PROBLEMS AND TEST FAILURES
Here's what happens running the test suite (with the attached patch):
FAIL: basic_tests.py 40: automatic conflict resolution
FAIL: diff_tests.py 4: replace a file with a file
FAIL: externals_tests.py 1: test checkouts with externals
FAIL: externals_tests.py 15: should not be able to mv or rm a file external
FAIL: prop_tests.py 9: props work when reverting a replacement
FAIL: revert_tests.py 3: revert a replaced file with no properties
FAIL: special_tests.py 7: merge symlink into file
Experience with squashing the earlier failures suggests they will all be
* Some problem related to file-externals doesn't work.
* Calls to entry_modify, on a node that is replaced, lose the checksum
UPGRADING OLD WORKING COPIES
The next step (which can be done in parallel with fixing the above
1. For each pristine text that is present in the old location: if its
2. For each pristine text that is present in the old location: install
3. Bump the WC format number to indicate the upgrade is functionally
If anyone wants to tackle any of these, that would be great. I'll be
This is an archived mail posted to the Subversion Dev mailing list.