[MERGE] (0.17) Branch.revision_id_to_dotted_revno and .get_revision_id_to_revno_map

John Arbash Meinel john at arbash-meinel.com
Tue Apr 17 22:43:09 BST 2007


Now with bundle.

John
=:->

John Arbash Meinel wrote:
> The recent discussions made me realize that our current method of
> mapping revision_ids => revnos should be refactored into a helper
> function. There are a few places that we use it, and it would be better
> to pull it out so that it is tested and can be reused.
> 
> So this patch adds 2 members to Branch:
>   revision_id_to_dotted_revno
> and
>   get_revision_id_to_revno_map
> 
> The former works like 'revision_id_to_revno' except it supports
> non-mainline revisions. The latter generates (and caches) a map used by
> the former.
> 
> It also updates annotate and RevisionSpec_revno to use this new map.
> 
> To make this a bit easier to test, I also refactored some of the
> branch_implementation code, and updated MemoryTree with a new api
> (set_parent_ids).
> 
> I don't have direct tests for the MemoryTree functions, because we don't
> have any 'mutable_tree' or 'memory_tree' tests. (At least, nothing is
> testing set_parent_trees() which is essentially the same thing as
> set_parent_ids).
> 
> I can rewrite things in terms of set_parent_trees(), it just makes test
> setup more difficult.
> 
> I also moved TestCaseWithBranch into branch_implementations/__init__.py
> since it makes more sense there than in test_branch.py. (Having a test
> import from another test seems less clean than importing from
> branch_implementations itself).
> 
> 
> And I added the helper function "create_tree_with_merge()" which creates
> a MemoryTree with a single merge. I think of it as an example that can
> be followed to set up simple revision histories for all the tests that
> are currently writing to disk when they don't need to.
> 
> I'm not trying to get this merged for 0.16, as it is an api update, so
> it is more focused on 0.17. But I was looking to update some plugins,
> and I realized this would have been good to have.
> 
> John
> =:->
> 
> 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: branch_revision_id_to_revno.patch
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070417/a601bc7a/attachment-0001.diff 


More information about the bazaar mailing list