コード例 #1
0
ファイル: gitrepo.py プロジェクト: mcclure/bitbucket-backup
 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 {}
コード例 #2
0
ファイル: gitrepo.py プロジェクト: domruf/hg-git
 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 {}
コード例 #3
0
ファイル: git_handler.py プロジェクト: MichaelBlume/hg-git
    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)
コード例 #4
0
    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)