def fullrev(self, srev):
        "try to reverse shortrev()"
        srev = str(srev)

        _rev_cache = self.rev_cache

        # short-cut
        if len(srev) == 40 and srev in _rev_cache.rev_dict:
            return srev

        if not GitCore.is_sha(srev):
            return None

        try:
            srevs = _rev_cache.srev_dict[self.__rev_key(srev)]
        except __HOLE__:
            return None

        srevs = filter(lambda s: s.startswith(srev), srevs)
        if len(srevs) == 1:
            return srevs[0]

        return None
dataset/ETHPy150Open hvr/trac-git-plugin/tracext/git/PyGIT.py/Storage.fullrev