diff mercurial/repair.py @ 26624:bcace0fbb4c8

strip: factor out revset calculation for strip -B This will allow reusing it in evolve and overriding it in other extensions.
author Ryan McElroy <rmcelroy@fb.com>
date Fri, 09 Oct 2015 14:48:59 -0700
parents 56b2bcea2529
children b1a0c534d9b4
line wrap: on
line diff
--- a/mercurial/repair.py	Fri Oct 09 11:22:01 2015 -0700
+++ b/mercurial/repair.py	Fri Oct 09 14:48:59 2015 -0700
@@ -299,3 +299,15 @@
     finally:
         lock.release()
 
+def stripbmrevset(repo, mark):
+    """
+    The revset to strip when strip is called with -B mark
+
+    Needs to live here so extensions can use it and wrap it even when strip is
+    not enabled or not present on a box.
+    """
+    return repo.revs("ancestors(bookmark(%s)) - "
+                     "ancestors(head() and not bookmark(%s)) - "
+                     "ancestors(bookmark() and not bookmark(%s))",
+                     mark, mark, mark)
+