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

  • Committer: Jelmer Vernooij
  • Date: 2020-02-13 23:57:28 UTC
  • mfrom: (7490 work)
  • mto: This revision was merged to the branch mainline in revision 7492.
  • Revision ID: jelmer@jelmer.uk-20200213235728-m6ds0mm3mbs4y182
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""InterRepository operations."""
18
18
 
 
19
from __future__ import absolute_import
 
20
 
19
21
from io import BytesIO
20
22
import itertools
21
23
 
75
77
    )
76
78
from .refs import (
77
79
    is_tag,
78
 
    ref_to_tag_name,
79
80
    )
80
81
from .repository import (
81
82
    GitRepository,
84
85
    )
85
86
from .remote import (
86
87
    RemoteGitRepository,
87
 
    RemoteGitError,
88
88
    )
89
89
from .unpeel_map import (
90
90
    UnpeelMap,
243
243
                # broken symref?
244
244
                continue
245
245
            revid = None
246
 
            if v and not v.startswith(SYMREF):
 
246
            if not v.startswith(SYMREF):
247
247
                try:
248
248
                    for (kind, type_data) in self.source_store.lookup_git_sha(
249
249
                            v):
309
309
                        try:
310
310
                            self.mapping.revision_id_bzr_to_foreign(old_revid)
311
311
                        except InvalidRevisionId:
312
 
                            pass
 
312
                            refname = self.mapping.revid_as_refname(old_revid)
 
313
                            self.target_refs[refname] = git_sha
313
314
                    revidmap[old_revid] = (git_sha, new_revid)
314
315
                self.target_store.add_objects(object_generator)
315
316
                return revidmap
371
372
            return ret
372
373
        self._warn_slow()
373
374
        with self.source_store.lock_read():
374
 
            result = self.target.send_pack(
 
375
            new_refs = self.target.send_pack(
375
376
                git_update_refs, self.source_store.generate_lossy_pack_data)
376
 
            if result is not None and not isinstance(result, dict):
377
 
                for ref, error in result.ref_status.items():
378
 
                    if error:
379
 
                        raise RemoteGitError(
380
 
                            'unable to update ref %r: %s' % (ref, error))
381
 
                new_refs = result.refs
382
 
            else:  # dulwich < 0.20.3
383
 
                new_refs = result
384
377
        # FIXME: revidmap?
385
378
        return revidmap, self.old_refs, new_refs
386
379
 
412
405
    def _target_has_shas(self, shas):
413
406
        raise NotImplementedError(self._target_has_shas)
414
407
 
415
 
    def get_determine_wants_heads(self, wants, include_tags=False, tag_selector=None):
 
408
    def get_determine_wants_heads(self, wants, include_tags=False):
416
409
        wants = set(wants)
417
410
 
418
411
        def determine_wants(refs):
425
418
                for k, sha in refs.items():
426
419
                    if k.endswith(ANNOTATED_TAG_SUFFIX):
427
420
                        continue
428
 
                    try:
429
 
                        tag_name = ref_to_tag_name(k)
430
 
                    except ValueError:
431
 
                        continue
432
 
                    if tag_selector and not tag_selector(tag_name):
 
421
                    if not is_tag(k):
433
422
                        continue
434
423
                    if sha == ZERO_SHA:
435
424
                        continue
515
504
        """
516
505
        raise NotImplementedError(self.fetch_objects)
517
506
 
518
 
    def get_determine_wants_revids(self, revids, include_tags=False, tag_selector=None):
 
507
    def get_determine_wants_revids(self, revids, include_tags=False):
519
508
        wants = set()
520
509
        for revid in set(revids):
521
510
            if self.target.has_revision(revid):
522
511
                continue
523
512
            git_sha, mapping = self.source.lookup_bzr_revision_id(revid)
524
513
            wants.add(git_sha)
525
 
        return self.get_determine_wants_heads(
526
 
            wants, include_tags=include_tags, tag_selector=tag_selector)
 
514
        return self.get_determine_wants_heads(wants, include_tags=include_tags)
527
515
 
528
516
    def fetch(self, revision_id=None, find_ghosts=False,
529
517
              mapping=None, fetch_spec=None, include_tags=False, lossy=False):
696
684
        result.refs = wants_recorder.remote_refs
697
685
        return result
698
686
 
699
 
    def get_determine_wants_revids(self, revids, include_tags=False, tag_selector=None):
 
687
    def get_determine_wants_revids(self, revids, include_tags=False):
700
688
        wants = set()
701
689
        for revid in set(revids):
702
690
            if revid == NULL_REVISION:
703
691
                continue
704
692
            git_sha, mapping = self.source.lookup_bzr_revision_id(revid)
705
693
            wants.add(git_sha)
706
 
        return self.get_determine_wants_heads(wants, include_tags=include_tags, tag_selector=tag_selector)
 
694
        return self.get_determine_wants_heads(wants, include_tags=include_tags)
707
695
 
708
696
    def get_determine_wants_branches(self, branches, include_tags=False):
709
697
        def determine_wants(refs):