--- a/mercurial/repo.py
+++ b/mercurial/repo.py
@@ -5,4 +5,19 @@
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
-class RepoError(Exception): pass
+class RepoError(Exception):
+ pass
+
+class repository(object):
+ def capable(self, name):
+ '''tell whether repo supports named capability.
+ return False if not supported.
+ if boolean capability, return True.
+ if string capability, return string.'''
+ name_eq = name + '='
+ for cap in self.capabilities:
+ if name == cap:
+ return True
+ if cap.startswith(name_eq):
+ return cap[len(name_eq):]
+ return False