# HG changeset patch # User Martin von Zweigbergk # Date 1497766179 25200 # Node ID 3980b2e061f0f326df7649701f13a4f6b85821c5 # Parent c425b678df7c9ebeae2cf8cf982d20add0626700 shelve: rewrite "x in y.children()" as "y in x.parents()" children() is slow diff -r c425b678df7c -r 3980b2e061f0 hgext/shelve.py --- a/hgext/shelve.py Sat Jun 17 17:16:28 2017 +0530 +++ b/hgext/shelve.py Sat Jun 17 23:09:39 2017 -0700 @@ -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