def listkeys(self, namespace): if namespace == 'namespaces': return {'bookmarks': ''} elif namespace == 'bookmarks': handler = self._initializehandler() if handler: handler.export_commits() refs = handler.fetch_pack(self.path) reqrefs = refs convertlist, commits = handler.getnewgitcommits(reqrefs) newcommits = [bin(c) for c in commits] b = overlayrepo(handler, newcommits, refs) stripped_refs = dict([(ref[11:], b.node(refs[ref])) for ref in refs.keys() if ref.startswith('refs/heads/')]) return stripped_refs return {}
def listkeys(self, namespace): if namespace == 'namespaces': return {'bookmarks':''} elif namespace == 'bookmarks': if self.localrepo is not None: handler = self.localrepo.githandler handler.export_commits() refs = handler.fetch_pack(self.path) reqrefs = refs convertlist, commits = handler.getnewgitcommits(reqrefs) newcommits = [bin(c) for c in commits] b = overlayrepo(handler, newcommits, refs) stripped_refs = dict([ (ref[11:], b.node(refs[ref])) for ref in refs.keys() if ref.startswith('refs/heads/')]) return stripped_refs return {}
def getremotechanges(self, remote, revs): self.export_commits() refs = self.fetch_pack(remote.path, revs) # refs contains all remote refs. Prune to only those requested. if revs: reqrefs = {} for rev in revs: for n in ('refs/heads/' + rev, 'refs/tags/' + rev): if n in refs: reqrefs[n] = refs[n] else: reqrefs = refs commits = [bin(c) for c in self.getnewgitcommits(reqrefs)[1]] b = overlayrepo(self, commits, refs) return (b, commits, lambda: None)