[MERGE] basic branch builder support
John Arbash Meinel
john at arbash-meinel.com
Thu May 3 20:09:54 BST 2007
John Arbash Meinel has voted +1.
Status is now: Approved
Comment:
So if I understand correctly, this is just trying to work out a helper
class for doing setup in tests, is that correct?
At the moment, it isn't terribly useful, since you can't modify files or
build anything other than a linear history, but I can see it having
usefulness as we expand it a bit.
We should probably add a TODO for things we want to add, just to make it
clear where this class is going. This is what I have in mind:
1) Allow specifying the commit message, properties, and revision id of
the commit. (Basically, allow us to pass parameters to 'tree.commit()',
but have a default if not supplied)
2) It would be faster if it kept a reference to the 'tree', rather than
regenerating it for each commit, especially once we get a real set of
files that 'Memory.lock_write()' will have to create. For now, what you
have is okay.
3) Add ability to lay out a working tree. Though maybe you have
TreeBuilder for that.
4) Add the ability to move around in ancestry. So you can create
multiple lines of development. (A -> B -> C, A -> D, etc).
5) Add the ability to set a merge point (D + C -> E). With (4) and (5)
you will be able to create arbitrary DAGs, which are useful for things
like 'common_ancestor' tests.
For details, see:
http://bundlebuggy.aaronbentley.com/request/%3C1177656015.25951.4.camel%40localhost.localdomain%3E
More information about the bazaar
mailing list