diff mercurial/bookmarks.py @ 17627:84f12b832ee8

bookmarks: use "changectx.descendant()" for efficient descendant examination This patch uses "old.descendant(new)" expression instead of "new in old.descendants()" for efficiency.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Tue, 18 Sep 2012 21:39:12 +0900
parents b83c18204c36
children 2b6a795f19f7
line wrap: on
line diff
--- 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)