hgext/obsolete.py
changeset 87 246b8fefd0a5
parent 86 7f763bada042
child 89 757153438e58
--- a/hgext/obsolete.py	Mon Sep 19 01:57:43 2011 +0200
+++ b/hgext/obsolete.py	Mon Sep 19 03:18:08 2011 +0200
@@ -283,6 +283,27 @@
         rels.setdefault( subnode, set()).add(bin(objhex))
     return rels
 
+### diagnostique tools
+#############################
+
+def unstables(repo):
+    """Return all unstable changeset"""
+    return scmutil.revrange(repo, ['obsolete():: and (not obsolete())'])
+
+def newerversion(repo, obs):
+    """Return the newer version of an obsolete changeset"""
+    toproceed = set([obs])
+    # XXX know optimization available
+    newer = set()
+    while toproceed:
+        current = toproceed.pop()
+        if current in repo._obsobjrels:
+            toproceed.update(repo._obsobjrels[current])
+        elif current is not None: # None is kill
+            newer.add(current)
+    return sorted(newer)
+
+
 ### repo subclassing
 #############################