view mercurial/repo.py @ 3755:05120e210c65

Use unsigned version format. This way can use one additional bit, and when encountering invalid revlogs with the first bit set don't produce python warnings or strange error messages.
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 01 Dec 2006 23:27:53 +0100
parents 5b7ed414affb
children 01d98d68d697
line wrap: on
line source

# repo.py - repository base classes for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
#
# 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 LookupError(RepoError):
    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