/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 remote.py

MoveĀ _get_client.

Show diffs side-by-side

added added

removed removed

Lines of Context:
138
138
    def _get_path(self):
139
139
        return urlutils.split_segment_parameters_raw(self._path)[0]
140
140
 
141
 
    def fetch_pack(self, determine_wants, graph_walker, pack_data, progress=None):
142
 
        if progress is None:
143
 
            def progress(text):
144
 
                trace.info("git: %s" % text)
145
 
        client = self._get_client(thin_packs=False)
146
 
        try:
147
 
            return client.fetch_pack(self._get_path(), determine_wants,
148
 
                graph_walker, pack_data, progress)
149
 
        except GitProtocolError, e:
150
 
            raise parse_git_error(self.external_url(), e)
151
 
 
152
 
    def send_pack(self, get_changed_refs, generate_pack_contents):
153
 
        client = self._get_client(thin_packs=False)
154
 
        try:
155
 
            return client.send_pack(self._get_path(), get_changed_refs,
156
 
                generate_pack_contents)
157
 
        except GitProtocolError, e:
158
 
            raise parse_git_error(self.external_url(), e)
159
 
 
160
141
    def get(self, path):
161
142
        raise NoSuchFile(path)
162
143
 
216
197
 
217
198
class RemoteGitDir(GitDir):
218
199
 
219
 
    def __init__(self, transport, lockfiles, format):
 
200
    def __init__(self, transport, lockfiles, format, get_client):
220
201
        self._format = format
221
202
        self.root_transport = transport
222
203
        self.transport = transport
223
204
        self._lockfiles = lockfiles
224
205
        self._mode_check_done = None
 
206
        self._get_client = get_client
 
207
 
 
208
    def fetch_pack(self, determine_wants, graph_walker, pack_data, progress=None):
 
209
        if progress is None:
 
210
            def progress(text):
 
211
                trace.info("git: %s" % text)
 
212
        client = self._get_client(thin_packs=False)
 
213
        try:
 
214
            return client.fetch_pack(self.transport._get_path(), determine_wants,
 
215
                graph_walker, pack_data, progress)
 
216
        except GitProtocolError, e:
 
217
            raise parse_git_error(self.transport.external_url(), e)
 
218
 
 
219
    def send_pack(self, get_changed_refs, generate_pack_contents):
 
220
        client = self._get_client(thin_packs=False)
 
221
        try:
 
222
            return client.send_pack(self.transport._get_path(), get_changed_refs,
 
223
                generate_pack_contents)
 
224
        except GitProtocolError, e:
 
225
            raise parse_git_error(self.transport.external_url(), e)
225
226
 
226
227
    @property
227
228
    def user_url(self):
308
309
        if not isinstance(transport, GitSmartTransport):
309
310
            raise NotBranchError(transport.base)
310
311
        lockfiles = GitLockableFiles(transport, GitLock())
311
 
        return RemoteGitDir(transport, lockfiles, self)
 
312
        return RemoteGitDir(transport, lockfiles, self, transport._get_client)
312
313
 
313
314
    def get_format_description(self):
314
315
        return "Remote Git Repository"
333
334
    def get_refs(self):
334
335
        if self._refs is not None:
335
336
            return self._refs
336
 
        self._refs = self.bzrdir.root_transport.fetch_pack(lambda x: [], None,
 
337
        self._refs = self.bzrdir.fetch_pack(lambda x: [], None,
337
338
            lambda x: None, lambda x: trace.mutter("git: %s" % x))
338
339
        return self._refs
339
340
 
340
341
    def fetch_pack(self, determine_wants, graph_walker, pack_data,
341
342
                   progress=None):
342
 
        return self._transport.fetch_pack(determine_wants, graph_walker,
 
343
        return self.bzrdir.fetch_pack(determine_wants, graph_walker,
343
344
                                          pack_data, progress)
344
345
 
345
346
    def send_pack(self, get_changed_refs, generate_pack_contents):
346
 
        return self._transport.send_pack(get_changed_refs, generate_pack_contents)
 
347
        return self.bzrdir.send_pack(get_changed_refs, generate_pack_contents)
347
348
 
348
349
    def fetch_objects(self, determine_wants, graph_walker, resolve_ext_ref,
349
350
                      progress=None):