/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: Jelmer Vernooij
  • Date: 2020-06-23 01:02:30 UTC
  • mfrom: (7490.40.27 work)
  • mto: This revision was merged to the branch mainline in revision 7517.
  • Revision ID: jelmer@jelmer.uk-20200623010230-62nnywznmb76h6ut
Merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
    )
116
116
import os
117
117
import select
118
 
import tempfile
119
118
 
120
119
import urllib.parse as urlparse
121
120
from urllib.parse import splituser
431
430
                format=(format.encode('ascii') if format else None),
432
431
                subdirs=subdirs,
433
432
                prefix=(prefix.encode('utf-8') if prefix else None))
 
433
        except HangupException as e:
 
434
            raise parse_git_hangup(self.transport.external_url(), e)
434
435
        except GitProtocolError as e:
435
436
            raise parse_git_error(self.transport.external_url(), e)
436
 
        except HangupException as e:
437
 
            raise parse_git_hangup(self.transport.external_url(), e)
438
437
        finally:
439
438
            if pb is not None:
440
439
                pb.finished()
455
454
            self._refs = remote_refs_dict_to_container(
456
455
                result.refs, result.symrefs)
457
456
            return result
 
457
        except HangupException as e:
 
458
            raise parse_git_hangup(self.transport.external_url(), e)
458
459
        except GitProtocolError as e:
459
460
            raise parse_git_error(self.transport.external_url(), e)
460
 
        except HangupException as e:
461
 
            raise parse_git_hangup(self.transport.external_url(), e)
462
461
        finally:
463
462
            if pb is not None:
464
463
                pb.finished()
478
477
            return self._client.send_pack(
479
478
                self._client_path, get_changed_refs_wrapper,
480
479
                generate_pack_data, progress)
 
480
        except HangupException as e:
 
481
            raise parse_git_hangup(self.transport.external_url(), e)
481
482
        except GitProtocolError as e:
482
483
            raise parse_git_error(self.transport.external_url(), e)
483
 
        except HangupException as e:
484
 
            raise parse_git_hangup(self.transport.external_url(), e)
485
484
        finally:
486
485
            if pb is not None:
487
486
                pb.finished()
510
509
 
511
510
        def generate_pack_data(have, want, ofs_delta=False):
512
511
            return pack_objects_to_data([])
513
 
        self.send_pack(get_changed_refs, generate_pack_data)
 
512
        result = self.send_pack(get_changed_refs, generate_pack_data)
 
513
        if result is not None and not isinstance(result, dict):
 
514
            error = result.ref_status.get(refname)
 
515
            if error:
 
516
                raise RemoteGitError(error)
514
517
 
515
518
    @property
516
519
    def user_url(self):
653
656
                else:
654
657
                    return source_store.generate_pack_data(
655
658
                        have, want, progress=progress, ofs_delta=ofs_delta)
656
 
            new_refs = self.send_pack(get_changed_refs, generate_pack_data)
 
659
            dw_result = self.send_pack(get_changed_refs, generate_pack_data)
 
660
            if not isinstance(dw_result, dict):
 
661
                new_refs = dw_result.refs
 
662
                error = dw_result.ref_status.get(actual_refname)
 
663
                if error:
 
664
                    raise RemoteGitError(error)
 
665
                for ref, error in dw_result.ref_status.items():
 
666
                    if error:
 
667
                        trace.warning('unable to open ref %s: %s',
 
668
                                      ref, error)
 
669
            else:  # dulwich < 0.20.4
 
670
                new_refs = dw_result
657
671
        push_result.new_revid = repo.lookup_foreign_revision_id(
658
672
            new_refs[actual_refname])
659
673
        if old_sha is not None:
858
872
        """
859
873
        commit = self._repository.lookup_bzr_revision_id(
860
874
            self.get_revision_id())[0]
 
875
        import tempfile
861
876
        f = tempfile.SpooledTemporaryFile()
862
877
        # git-upload-archive(1) generaly only supports refs. So let's see if we
863
878
        # can find one.
914
929
 
915
930
    def fetch_objects(self, determine_wants, graph_walker, resolve_ext_ref,
916
931
                      progress=None):
 
932
        import tempfile
917
933
        fd, path = tempfile.mkstemp(suffix=".pack")
918
934
        try:
919
935
            self.fetch_pack(determine_wants, graph_walker,
972
988
 
973
989
        def generate_pack_data(have, want, ofs_delta=False):
974
990
            return pack_objects_to_data([])
975
 
        self.repository.send_pack(get_changed_refs, generate_pack_data)
 
991
        result = self.repository.send_pack(
 
992
            get_changed_refs, generate_pack_data)
 
993
        if result and not isinstance(result, dict):
 
994
            error = result.ref_status.get(ref)
 
995
            if error:
 
996
                raise RemoteGitError(error)
976
997
 
977
998
 
978
999
class RemoteGitBranch(GitBranch):
1056
1077
            return {self.ref: sha}
1057
1078
        def generate_pack_data(have, want, ofs_delta=False):
1058
1079
            return pack_objects_to_data([])
1059
 
        self.repository.send_pack(get_changed_refs, generate_pack_data)
 
1080
        result = self.repository.send_pack(
 
1081
            get_changed_refs, generate_pack_data)
 
1082
        if result is not None and not isinstance(result, dict):
 
1083
            error = result.ref_status.get(self.ref)
 
1084
            if error:
 
1085
                raise RemoteGitError(error)
1060
1086
        self._sha = sha
1061
1087
 
1062
1088