/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-02-21 03:58:42 UTC
  • mfrom: (7490.3.4 work)
  • mto: This revision was merged to the branch mainline in revision 7495.
  • Revision ID: jelmer@jelmer.uk-20200221035842-j97r6b74q8cgxb21
merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
398
398
        raise NotImplementedError(self.sprout)
399
399
 
400
400
    def push_branch(self, source, revision_id=None, overwrite=False,
401
 
                    remember=False, create_prefix=False, lossy=False):
 
401
                    remember=False, create_prefix=False, lossy=False,
 
402
                    tag_selector=None):
402
403
        """Push the source branch into this ControlDir."""
403
404
        br_to = None
404
405
        # If we can open a branch, use its direct repository, otherwise see
422
423
                # revision
423
424
                revision_id = source.last_revision()
424
425
            repository_to.fetch(source.repository, revision_id=revision_id)
425
 
            br_to = source.sprout(self, revision_id=revision_id, lossy=lossy)
 
426
            br_to = source.sprout(
 
427
                self, revision_id=revision_id, lossy=lossy,
 
428
                tag_selector=tag_selector)
426
429
            if source.get_push_location() is None or remember:
427
430
                # FIXME: Should be done only if we succeed ? -- vila 2012-01-18
428
431
                source.set_push_location(br_to.base)
442
445
                tree_to = self.open_workingtree()
443
446
            except errors.NotLocalUrl:
444
447
                push_result.branch_push_result = source.push(
445
 
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy)
 
448
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy,
 
449
                    tag_selector=tag_selector)
446
450
                push_result.workingtree_updated = False
447
451
            except errors.NoWorkingTree:
448
452
                push_result.branch_push_result = source.push(
449
 
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy)
 
453
                    br_to, overwrite, stop_revision=revision_id, lossy=lossy,
 
454
                    tag_selector=tag_selector)
450
455
                push_result.workingtree_updated = None  # Not applicable
451
456
            else:
452
457
                with tree_to.lock_write():
453
458
                    push_result.branch_push_result = source.push(
454
459
                        tree_to.branch, overwrite, stop_revision=revision_id,
455
 
                        lossy=lossy)
 
460
                        lossy=lossy, tag_selector=tag_selector)
456
461
                    tree_to.update()
457
462
                push_result.workingtree_updated = True
458
463
            push_result.old_revno = push_result.branch_push_result.old_revno
491
496
        raise NotImplementedError(self.check_conversion_target)
492
497
 
493
498
    def clone(self, url, revision_id=None, force_new_repo=False,
494
 
              preserve_stacking=False):
 
499
              preserve_stacking=False, tag_selector=None):
495
500
        """Clone this controldir and its contents to url verbatim.
496
501
 
497
502
        :param url: The url create the clone at.  If url's last component does
507
512
        return self.clone_on_transport(_mod_transport.get_transport(url),
508
513
                                       revision_id=revision_id,
509
514
                                       force_new_repo=force_new_repo,
510
 
                                       preserve_stacking=preserve_stacking)
 
515
                                       preserve_stacking=preserve_stacking,
 
516
                                       tag_selector=tag_selector)
511
517
 
512
518
    def clone_on_transport(self, transport, revision_id=None,
513
519
                           force_new_repo=False, preserve_stacking=False, stacked_on=None,
514
 
                           create_prefix=False, use_existing_dir=True, no_tree=False):
 
520
                           create_prefix=False, use_existing_dir=True, no_tree=False,
 
521
                           tag_selector=None):
515
522
        """Clone this controldir and its contents to transport verbatim.
516
523
 
517
524
        :param transport: The transport for the location to produce the clone