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

  • Committer: Jelmer Vernooij
  • Date: 2020-03-22 19:12:43 UTC
  • mfrom: (7490.7.6 work)
  • mto: (7490.7.7 work)
  • mto: This revision was merged to the branch mainline in revision 7501.
  • Revision ID: jelmer@jelmer.uk-20200322191243-yx8ils8lvfmfh7rq
Merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
412
412
        raise NotImplementedError(self.sprout)
413
413
 
414
414
    def push_branch(self, source, revision_id=None, overwrite=False,
415
 
                    remember=False, create_prefix=False, lossy=False):
 
415
                    remember=False, create_prefix=False, lossy=False,
 
416
                    tag_selector=None):
416
417
        """Push the source branch into this ControlDir."""
417
418
        br_to = None
418
419
        # If we can open a branch, use its direct repository, otherwise see
436
437
                # revision
437
438
                revision_id = source.last_revision()
438
439
            repository_to.fetch(source.repository, revision_id=revision_id)
439
 
            br_to = source.sprout(self, revision_id=revision_id, lossy=lossy)
 
440
            br_to = source.sprout(
 
441
                self, revision_id=revision_id, lossy=lossy,
 
442
                tag_selector=tag_selector)
440
443
            if source.get_push_location() is None or remember:
441
444
                # FIXME: Should be done only if we succeed ? -- vila 2012-01-18
442
445
                source.set_push_location(br_to.base)
456
459
                tree_to = self.open_workingtree()
457
460
            except errors.NotLocalUrl:
458
461
                push_result.branch_push_result = source.push(
459
 
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy)
 
462
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy,
 
463
                    tag_selector=tag_selector)
460
464
                push_result.workingtree_updated = False
461
465
            except errors.NoWorkingTree:
462
466
                push_result.branch_push_result = source.push(
463
 
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy)
 
467
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy,
 
468
                    tag_selector=tag_selector)
464
469
                push_result.workingtree_updated = None  # Not applicable
465
470
            else:
466
471
                with tree_to.lock_write():
467
472
                    push_result.branch_push_result = source.push(
468
473
                        tree_to.branch, overwrite, stop_revision=revision_id,
469
 
                        lossy=lossy)
 
474
                        lossy=lossy, tag_selector=tag_selector)
470
475
                    tree_to.update()
471
476
                push_result.workingtree_updated = True
472
477
            push_result.old_revno = push_result.branch_push_result.old_revno
505
510
        raise NotImplementedError(self.check_conversion_target)
506
511
 
507
512
    def clone(self, url, revision_id=None, force_new_repo=False,
508
 
              preserve_stacking=False):
 
513
              preserve_stacking=False, tag_selector=None):
509
514
        """Clone this controldir and its contents to url verbatim.
510
515
 
511
516
        :param url: The url create the clone at.  If url's last component does
521
526
        return self.clone_on_transport(_mod_transport.get_transport(url),
522
527
                                       revision_id=revision_id,
523
528
                                       force_new_repo=force_new_repo,
524
 
                                       preserve_stacking=preserve_stacking)
 
529
                                       preserve_stacking=preserve_stacking,
 
530
                                       tag_selector=tag_selector)
525
531
 
526
532
    def clone_on_transport(self, transport, revision_id=None,
527
533
                           force_new_repo=False, preserve_stacking=False, stacked_on=None,
528
 
                           create_prefix=False, use_existing_dir=True, no_tree=False):
 
534
                           create_prefix=False, use_existing_dir=True, no_tree=False,
 
535
                           tag_selector=None):
529
536
        """Clone this controldir and its contents to transport verbatim.
530
537
 
531
538
        :param transport: The transport for the location to produce the clone