hgext/obsolete.py
changeset 444 aedb6b8ace86
parent 443 3f8c11865ed2
child 445 52b5e14c63d5
--- a/hgext/obsolete.py	Tue Aug 07 18:05:41 2012 +0200
+++ b/hgext/obsolete.py	Tue Aug 07 18:26:13 2012 +0200
@@ -591,26 +591,6 @@
     finally:
         tr.release()
 
-@eh.reposetup
-def _repoobsutilsetup(ui, repo):
-    if not repo.local():
-        return
-
-    class obsoletingrepo(repo.__class__):
-
-        # XXX kill me
-        def addobsolete(self, sub, obj):
-            """Add a relation marking that node <sub> is a new version of <obj>"""
-            prec = repo[obj]
-            sucs = (sub == nullid) and [] or [repo[sub]]
-            lock = self.lock()
-            try:
-                createmarkers(self, [(prec, sucs)])
-            finally:
-                lock.release()
-
-    repo.__class__ = obsoletingrepo
-
 #####################################################################
 ### Extending revset and template                                 ###
 #####################################################################
@@ -901,9 +881,10 @@
                             markers = [(repo[r], ())
                                        for r in replacements]
                         createmarkers(repo, markers)
-                    else:
-                        for oldnode, newnode in replacements.iteritems():
-                            repo.addobsolete(newnode, oldnode)
+                    elif replacements:
+                        markers = [(repo[o], (() if n == nullid else (repo[n],)))
+                                   for o, n in replacements.iteritems()]
+                        createmarkers(repo, markers)
             return res
         finally:
             l.release()