come play with dirstate!

Robert Collins robertc at robertcollins.net
Tue Feb 13 11:34:04 GMT 2007


Dirstate is now somewhat usable as a tree format...

sftp://bazaar.launchpad.net/%7Ebzr/bzr/dirstate/

and it needs your love and attention!

Today I got dirstate based trees - 'format 4' trees passing the tree
interface tests, and midway through the working tree interface tests.
Theres plenty more to do, but its now able to be done in little chunks,
a single method usually gets many more tests passing.

(Currently running ./bzr selftest '(?i)WorkingTreeFormat4' --one has 34
tests pass).

At this point theres no structural work to do - we have compatability
with Treetransform and other inventory using apis, regular commits, and
so forth : the next step is simply to keep running the test suite until
all tests are passing. Dig in! Hack up a single working test, you know
you want to!

When all the workingtree_implementation tests are passing, we can hook
up upgrade, and make a named format for dirstate so that existing trees
can be changed. Right now, to make a checkout with dirstate you need to
use the python api, or hack workingtree.py to set the Format4 object as
the default instead of Format3. (thats really easy to do - see line
2464).

I expect dirstate to be slower right now in many operations because of
the impedance mismatch. Once all tests are passing thats what I'll be
working on, and anyone who cares to join me!

A related project that would be great to do for 0.15, would be to use
utf8 everywhere we currently use unicode strings within bzrlib, except
for:
 * opening files on OS's [where we should convert to unicode, or to the
native encoding, and consider linux's native encoding to be utf8 AIUI]
 * printing content to the user, where we should take our internal utf8
and transcode it to the users encoding (doing nothing if they use utf8).

This would make an appreciable difference to performance, without
compromising out i18n support.

-Rob
-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070213/844bcf41/attachment.pgp 


More information about the bazaar mailing list