Rev 3056: bzrlib.revision.is_ancestor should use graph functions (#172970) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Fri Nov 30 07:01:00 GMT 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3056
revision-id:pqm at pqm.ubuntu.com-20071130070051-vl4e257ac6vxgo72
parent: pqm at pqm.ubuntu.com-20071130054320-b4oer0rcbiy2ouzg
parent: mbp at sourcefrog.net-20071130060717-fpc1vz120ly8hinb
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2007-11-30 07:00:51 +0000
message:
bzrlib.revision.is_ancestor should use graph functions (#172970)
modified:
bzrlib/revision.py revision.py-20050309040759-e77802c08f3999d5
bzrlib/tests/test_ancestry.py test_ancestry.py-20050913023709-69768e94848312c6
------------------------------------------------------------
revno: 3054.2.1
revision-id:mbp at sourcefrog.net-20071130060717-fpc1vz120ly8hinb
parent: pqm at pqm.ubuntu.com-20071130043114-bez1f7e4y16cp7rm
parent: john at arbash-meinel.com-20071130033433-0j25tjs5jv2yyn40
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: ancestry-hacks
timestamp: Fri 2007-11-30 17:07:17 +1100
message:
bzrlib.revision.is_ancestor should use graph functions (#172970)
modified:
bzrlib/revision.py revision.py-20050309040759-e77802c08f3999d5
bzrlib/tests/test_ancestry.py test_ancestry.py-20050913023709-69768e94848312c6
------------------------------------------------------------
revno: 3052.1.1
revision-id:john at arbash-meinel.com-20071130033433-0j25tjs5jv2yyn40
parent: pqm at pqm.ubuntu.com-20071129184101-u9506rihe4zbzyyz
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: is_ancestor_fix
timestamp: Thu 2007-11-29 21:34:33 -0600
message:
(bug #172970) Switch revision.is_ancestor to use a graph search
rather than grabing the ancestry and doing a membership test.
modified:
bzrlib/revision.py revision.py-20050309040759-e77802c08f3999d5
=== modified file 'bzrlib/revision.py'
--- a/bzrlib/revision.py 2007-11-21 15:10:44 +0000
+++ b/bzrlib/revision.py 2007-11-30 03:34:33 +0000
@@ -136,8 +136,7 @@
"""
if is_null(candidate_id):
return True
- return (candidate_id in branch.repository.get_ancestry(revision_id,
- topo_sorted=False))
+ return branch.repository.get_graph().is_ancestor(candidate_id, revision_id)
def iter_ancestors(revision_id, revision_source, only_present=False):
=== modified file 'bzrlib/tests/test_ancestry.py'
--- a/bzrlib/tests/test_ancestry.py 2007-07-11 16:42:37 +0000
+++ b/bzrlib/tests/test_ancestry.py 2007-11-30 06:07:17 +0000
@@ -50,9 +50,11 @@
builder = BranchBuilder(self.get_transport())
rev_id = builder.build_commit()
branch = builder.get_branch()
+ branch.lock_read()
self.assertTrue(is_ancestor('null:', 'null:', branch))
self.assertTrue(is_ancestor(rev_id, 'null:', branch))
self.assertFalse(is_ancestor('null:', rev_id, branch))
+ branch.unlock()
# TODO: check that ancestry is updated to include indirectly merged revisions
More information about the bazaar-commits
mailing list