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

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2020-06-11 16:46:46 UTC
  • mfrom: (7512.1.1 drop-travis-appveyor)
  • Revision ID: breezy.the.bot@gmail.com-20200611164646-w4tufva3jchfv1mn
Drop appveyor + travis configuration.

Merged from https://code.launchpad.net/~jelmer/brz/drop-travis-appveyor/+merge/385578

Show diffs side-by-side

added added

removed removed

Lines of Context:
211
211
    return RemoteGitError(message)
212
212
 
213
213
 
 
214
def parse_git_hangup(url, e):
 
215
    """Parse the error lines from a git servers stderr on hangup.
 
216
 
 
217
    :param url: URL of the remote repository
 
218
    :param e: A HangupException
 
219
    """
 
220
    stderr_lines = getattr(e, 'stderr_lines', None)
 
221
    if not stderr_lines:
 
222
        return e
 
223
    interesting_lines = [
 
224
        line for line in stderr_lines
 
225
        if line and line.replace(b'=', b'')]
 
226
    if len(interesting_lines) == 1:
 
227
        interesting_line = interesting_lines[0]
 
228
        return parse_git_error(
 
229
            url, interesting_line.decode('utf-8', 'surrogateescape'))
 
230
    return RemoteGitError(
 
231
        b'\n'.join(stderr_lines).decode('utf-8', 'surrogateescape'))
 
232
 
 
233
 
214
234
class GitSmartTransport(Transport):
215
235
 
216
236
    def __init__(self, url, _client=None):
410
430
                prefix=(prefix.encode('utf-8') if prefix else None))
411
431
        except GitProtocolError as e:
412
432
            raise parse_git_error(self.transport.external_url(), e)
 
433
        except HangupException as e:
 
434
            raise parse_git_hangup(self.transport.external_url(), e)
413
435
        finally:
414
436
            if pb is not None:
415
437
                pb.finished()
432
454
            return result
433
455
        except GitProtocolError as e:
434
456
            raise parse_git_error(self.transport.external_url(), e)
 
457
        except HangupException as e:
 
458
            raise parse_git_hangup(self.transport.external_url(), e)
435
459
        finally:
436
460
            if pb is not None:
437
461
                pb.finished()
453
477
                generate_pack_data, progress)
454
478
        except GitProtocolError as e:
455
479
            raise parse_git_error(self.transport.external_url(), e)
 
480
        except HangupException as e:
 
481
            raise parse_git_hangup(self.transport.external_url(), e)
456
482
        finally:
457
483
            if pb is not None:
458
484
                pb.finished()
606
632
                    ret[tag_name_to_ref(tagname)] = new_sha
607
633
            return ret
608
634
        with source_store.lock_read():
609
 
            if lossy:
610
 
                generate_pack_data = source_store.generate_lossy_pack_data
611
 
            else:
612
 
                generate_pack_data = source_store.generate_pack_data
 
635
            def generate_pack_data(have, want, progress=None,
 
636
                                   ofs_delta=True):
 
637
                git_repo = getattr(source.repository, '_git', None)
 
638
                if git_repo:
 
639
                    shallow = git_repo.get_shallow()
 
640
                else:
 
641
                    shallow = None
 
642
                if lossy:
 
643
                    return source_store.generate_lossy_pack_data(
 
644
                        have, want, shallow=shallow,
 
645
                        progress=progress, ofs_delta=ofs_delta)
 
646
                elif shallow:
 
647
                    return source_store.generate_pack_data(
 
648
                        have, want, shallow=shallow,
 
649
                        progress=progress, ofs_delta=ofs_delta)
 
650
                else:
 
651
                    return source_store.generate_pack_data(
 
652
                        have, want, progress=progress, ofs_delta=ofs_delta)
613
653
            new_refs = self.send_pack(get_changed_refs, generate_pack_data)
614
654
        push_result.new_revid = repo.lookup_foreign_revision_id(
615
655
            new_refs[actual_refname])
712
752
            raise NotGitRepository()
713
753
        elif response.status != 200:
714
754
            raise GitProtocolError("unexpected http resp %d for %s" %
715
 
                                   (response.code, url))
 
755
                                   (response.status, url))
716
756
 
717
757
        # TODO: Optimization available by adding `preload_content=False` to the
718
758
        # request and just passing the `read` method on instead of going via