diff --git a/tracext/hg/backend.py b/tracext/hg/backend.py
--- a/tracext/hg/backend.py
+++ b/tracext/hg/backend.py
@@ -60,7 +60,7 @@ try:
     from mercurial import hg
     from mercurial.context import filectx
     from mercurial.ui import ui
-    from mercurial.node import hex, short, nullid
+    from mercurial.node import hex, short, nullid, nullrev
     from mercurial.util import pathto, cachefunc
     from mercurial import cmdutil
     from mercurial import extensions
@@ -583,6 +583,13 @@ class MercurialRepository(Repository):
         for c in log.children(n):
             return hex(c) # always follow first child
     
+    def parent_revs(self, rev):
+        n = self.hg_node(rev)
+        log = self.repo.changelog
+        return [hex(log.node(r))
+                for r in sorted(log.parentrevs(log.rev(n)))
+                if r != nullrev]
+
     def rev_older_than(self, rev1, rev2):
         log = self.repo.changelog
         return log.rev(self.hg_node(rev1)) < log.rev(self.hg_node(rev2))

