What's the deal with MemoryTree?

Justyn Butler justynbutler at googlemail.com
Tue Aug 18 23:26:28 BST 2009


Hi,

We have an in-browser IDE that interfaces with a subversion
repository. For the last two years it has been deployed to students
who use it to edit code for projects that they work on in teams.

Because our server side software is all written in Python (Turbogears)
and we have found pysvn limiting, I have ported the IDE system to use
bzrlib instead.

The nice thing I have looked forward to in interfacing with bzrlib is
the ability to avoid unnecessary burden on the disk caused by checking
out a whole branch, making changes, then committing it every time
someone modifies a file.
To do this I'm using MemoryTree to programmatically add
files/directories and commit changes directly to the repository. No
persistent working tree is kept on disk for the users, nor need one be
created every time a request is made.

Except all is not quite well, because MemoryTree appears to be limited
in how far it can emulate a working tree. Merging is my current
struggle.

MemoryTree doesn't seem to me to get a lot of development (looking at
the logs). But it also seems to me to be a great way for software like
ours to interface with a bzr repository for "write" operations (in
place of a WorkingTree on disk).

Why isn't it used more? Is it abandoned or partially deprecated?

Do people use some other method for this kind of operation?

Any information, pointers or advice greatly appreciated.

Regards,
Justyn.



More information about the bazaar mailing list