/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to git_repository.py

Ignore .plugins dir.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
    )
35
35
from bzrlib.transport import get_transport
36
36
 
37
 
from bzrlib.plugins.git.foreign import (
 
37
from bzrlib.plugins.git import (
 
38
    cache,
 
39
    ids,
38
40
    versionedfiles
39
41
    )
40
 
from bzrlib.plugins.git.mapping import default_mapping
41
42
 
42
43
 
43
44
class GitRepository(repository.Repository):
50
51
        self.bzrdir = gitdir
51
52
        self.control_files = lockfiles
52
53
        self._git = gitdir._git
 
54
        cache_dir = cache.create_cache_dir()
 
55
        cachedir_transport = get_transport(cache_dir)
 
56
        cache_file = os.path.join(cache_dir, 'cache-%s' % ids.NAMESPACE)
53
57
        self.texts = None
54
58
        self.signatures = versionedfiles.VirtualSignatureTexts(self)
55
59
        self.revisions = versionedfiles.VirtualRevisionTexts(self)
66
70
        while cms != []:
67
71
            cms = self._git.commits("--all", max_count=max_count, skip=skip)
68
72
            skip += max_count
69
 
            ret.update([default_mapping.revision_id_foreign_to_bzr(cm.id) for cm in cms])
 
73
            ret.update([ids.convert_revision_id_git_to_bzr(cm.id) for cm in cms])
70
74
        return ret
71
75
 
72
76
    def is_shared(self):
88
92
            max_count = 1000
89
93
            cms = None
90
94
            while cms != []:
91
 
                cms = self._git.commits(self.lookup_git_revid(revision_id, default_mapping), max_count=max_count, skip=skip)
 
95
                cms = self._git.commits(ids.convert_revision_id_bzr_to_git(revision_id), max_count=max_count, skip=skip)
92
96
                skip += max_count
93
 
                ret += [default_mapping.revision_id_foreign_to_bzr(cm.id) for cm in cms]
 
97
                ret += [ids.convert_revision_id_git_to_bzr(cm.id) for cm in cms]
94
98
        return [None] + ret
95
99
 
96
100
    def get_signature_text(self, revision_id):
105
109
            if revid == revision.NULL_REVISION:
106
110
                ret[revid] = ()
107
111
            else:
108
 
                commit = self._git.commit(self.lookup_git_revid(revid, default_mapping))
109
 
                ret[revid] = tuple([default_mapping.revision_id_foreign_to_bzr(p.id) for p in commit.parents])
 
112
                commit = self._git.commit(ids.convert_revision_id_bzr_to_git(revid))
 
113
                ret[revid] = tuple([ids.convert_revision_id_git_to_bzr(p.id) for p in commit.parents])
110
114
        return ret
111
115
 
112
 
    def lookup_git_revid(self, bzr_revid, mapping):
113
 
        try:
114
 
            return mapping.revision_id_bzr_to_foreign(bzr_revid)
115
 
        except errors.InvalidRevisionId:
116
 
            raise errors.NoSuchRevision(bzr_revid, self)
117
 
 
118
116
    def get_revision(self, revision_id):
119
 
        git_commit_id = self.lookup_git_revid(revision_id, default_mapping)
 
117
        git_commit_id = ids.convert_revision_id_bzr_to_git(revision_id)
120
118
        commit = self._git.commit(git_commit_id)
121
119
        # print "fetched revision:", git_commit_id
122
120
        revision = self._parse_rev(commit)
139
137
 
140
138
        :return: a `bzrlib.revision.Revision` object.
141
139
        """
142
 
        rev = revision.Revision(default_mapping.revision_id_foreign_to_bzr(commit.id))
143
 
        rev.parent_ids = tuple([default_mapping.revision_id_foreign_to_bzr(p.id) for p in commit.parents])
 
140
        rev = revision.Revision(ids.convert_revision_id_git_to_bzr(commit.id))
 
141
        rev.parent_ids = tuple([ids.convert_revision_id_git_to_bzr(p.id) for p in commit.parents])
144
142
        rev.inventory_sha1 = ""
145
143
        rev.message = commit.message.decode("utf-8", "replace")
146
144
        rev.committer = str(commit.committer)
167
165
        assert revision_id != None
168
166
        return self.revision_tree(revision_id).inventory
169
167
 
170
 
    def set_make_working_trees(self, trees):
171
 
        pass
172
 
 
173
168
 
174
169
def escape_file_id(file_id):
175
170
    return file_id.replace('_', '__').replace(' ', '_s')
184
179
    def __init__(self, repository, revision_id):
185
180
        self._repository = repository
186
181
        self.revision_id = revision_id
187
 
        git_id = repository.lookup_git_revid(revision_id, default_mapping)
 
182
        git_id = ids.convert_revision_id_bzr_to_git(revision_id)
188
183
        self.tree = repository._git.commit(git_id).tree
189
184
        self._inventory = inventory.Inventory(revision_id=revision_id)
190
185
        self._inventory.root.revision = revision_id