mercurial/registrar.py
changeset 41096 f8f61cf246f5
parent 41081 13f50ea8ac3b
child 42337 832c59d1196e
--- a/mercurial/registrar.py	Wed Jan 02 10:31:14 2019 +0100
+++ b/mercurial/registrar.py	Wed Jan 02 21:49:40 2019 -0500
@@ -80,11 +80,11 @@
         current one, or a ProgrammmingError is raised.  Additionally, the types
         of the two registrars must match.
         """
-        if type(self) != type(registrarbase):
+        if not isinstance(registrarbase, type(self)):
             msg = "cannot merge different types of registrar"
             raise error.ProgrammingError(msg)
 
-        dups = set(registrarbase._table.keys()).intersection(self._table.keys())
+        dups = set(registrarbase._table).intersection(self._table)
 
         if dups:
             msg = 'duplicate registration for names: "%s"' % '", "'.join(dups)