bookmarks: use "changectx.descendant()" for efficient descendant examination
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Tue, 18 Sep 2012 21:39:12 +0900
changeset 17627 84f12b832ee8
parent 17626 3a524b647897
child 17629 331d611813ec
bookmarks: use "changectx.descendant()" for efficient descendant examination This patch uses "old.descendant(new)" expression instead of "new in old.descendants()" for efficiency.
mercurial/bookmarks.py
--- a/mercurial/bookmarks.py	Tue Sep 18 21:39:12 2012 +0900
+++ b/mercurial/bookmarks.py	Tue Sep 18 21:39:12 2012 +0900
@@ -159,7 +159,7 @@
         if mark and marks[mark] in parents:
             old = repo[marks[mark]]
             new = repo[node]
-            if new in old.descendants() and mark == cur:
+            if old.descendant(new) and mark == cur:
                 marks[cur] = new.node()
                 update = True
             if mark != cur:
@@ -281,4 +281,4 @@
         validdests.remove(old)
         return new in validdests
     else:
-        return new in old.descendants()
+        return old.descendant(new)