diff --git a/mercurial/repoview.py b/mercurial/repoview.py
index c752fbe228fb5fb5338b4b90efcfed7c2046ef7b_bWVyY3VyaWFsL3JlcG92aWV3LnB5..d4ad9d695a9e453b2ccd622207d14bca80550457_bWVyY3VyaWFsL3JlcG92aWV3LnB5 100644
--- a/mercurial/repoview.py
+++ b/mercurial/repoview.py
@@ -15,6 +15,7 @@
 from . import (
     obsolete,
     phases,
+    pycompat,
     tags as tagsmod,
 )
 
@@ -232,6 +233,11 @@
             return self
         return self.unfiltered().filtered(name)
 
+    def __repr__(self):
+        return r'<%s:%s %r>' % (self.__class__.__name__,
+                                pycompat.sysstr(self.filtername),
+                                self.unfiltered())
+
     # everything access are forwarded to the proxied repo
     def __getattr__(self, attr):
         return getattr(self._unfilteredrepo, attr)