# HG changeset patch
# User Martin von Zweigbergk <martinvonz@google.com>
# Date 1497766179 25200
#      Sat Jun 17 23:09:39 2017 -0700
# Node ID 3980b2e061f0f326df7649701f13a4f6b85821c5
# Parent  c425b678df7c9ebeae2cf8cf982d20add0626700
shelve: rewrite "x in y.children()" as "y in x.parents()"

children() is slow

diff --git a/hgext/shelve.py b/hgext/shelve.py
--- a/hgext/shelve.py
+++ b/hgext/shelve.py
@@ -681,7 +681,7 @@
             raise
 
         shelvectx = repo['tip']
-        if not shelvectx in state.pendingctx.children():
+        if state.pendingctx not in shelvectx.parents():
             # rebase was a no-op, so it produced no child commit
             shelvectx = state.pendingctx
         else:
@@ -758,7 +758,7 @@
     # refresh ctx after rebase completes
     shelvectx = repo['tip']
 
-    if not shelvectx in tmpwctx.children():
+    if tmpwctx not in shelvectx.parents():
         # rebase was a no-op, so it produced no child commit
         shelvectx = tmpwctx
     return shelvectx