59
from brzlib.branch import Branch
60
from brzlib.conflicts import ConflictList
61
from brzlib.transport import memory
62
from brzlib.revisionspec import RevisionSpec, RevisionInfo
63
from brzlib.smtp_connection import SMTPConnection
64
from brzlib.workingtree import WorkingTree
65
from brzlib.i18n import gettext, ngettext
59
from breezy.branch import Branch
60
from breezy.conflicts import ConflictList
61
from breezy.transport import memory
62
from breezy.revisionspec import RevisionSpec, RevisionInfo
63
from breezy.smtp_connection import SMTPConnection
64
from breezy.workingtree import WorkingTree
65
from breezy.i18n import gettext, ngettext
68
from brzlib.commands import (
68
from breezy.commands import (
70
70
builtin_command_registry,
73
from brzlib.option import (
73
from breezy.option import (
78
78
_parse_revision_str,
80
from brzlib.trace import mutter, note, warning, is_quiet, get_verbosity_level
80
from breezy.trace import mutter, note, warning, is_quiet, get_verbosity_level
391
391
def run(self, show_ids=False, file_list=None, revision=None, short=False,
392
392
versioned=False, no_pending=False, verbose=False,
393
393
no_classify=False):
394
from brzlib.status import show_tree_status
394
from breezy.status import show_tree_status
396
396
if revision and len(revision) > 2:
397
397
raise errors.BzrCommandError(gettext('brz status --revision takes exactly'
830
830
base_tree = base_branch.basis_tree()
832
action = brzlib.add.AddFromBaseAction(base_tree, base_path,
832
action = breezy.add.AddFromBaseAction(base_tree, base_path,
833
833
to_file=self.outf, should_print=(not is_quiet()))
835
action = brzlib.add.AddWithSkipLargeAction(to_file=self.outf,
835
action = breezy.add.AddWithSkipLargeAction(to_file=self.outf,
836
836
should_print=(not is_quiet()))
1324
1324
use_existing_dir=False, directory=None, stacked_on=None,
1325
1325
stacked=False, strict=None, no_tree=False,
1326
1326
overwrite_tags=False):
1327
from brzlib.push import _show_push_branch
1327
from breezy.push import _show_push_branch
1330
1330
overwrite = ["history", "tags"]
1440
1440
hardlink=False, stacked=False, standalone=False, no_tree=False,
1441
1441
use_existing_dir=False, switch=False, bind=False,
1442
1442
files_from=None):
1443
from brzlib import switch as _mod_switch
1444
from brzlib.tag import _merge_tags_if_possible
1443
from breezy import switch as _mod_switch
1444
from breezy.tag import _merge_tags_if_possible
1445
1445
if self.invoked_as in ['get', 'clone']:
1446
1446
ui.ui_factory.show_user_warning(
1447
1447
'deprecated_command',
2132
2132
raise errors.BzrCommandError(gettext('This branch format cannot be set'
2133
2133
' to append-revisions-only. Try --default.'))
2134
2134
if not is_quiet():
2135
from brzlib.info import describe_layout, describe_format
2135
from breezy.info import describe_layout, describe_format
2137
2137
tree = a_bzrdir.open_workingtree(recommend_upgrade=False)
2138
2138
except (errors.NoWorkingTree, errors.NotLocalUrl):
2185
2185
takes_options = [RegistryOption('format',
2186
2186
help='Specify a format for this repository. See'
2187
2187
' "brz help formats" for details.',
2188
lazy_registry=('brzlib.controldir', 'format_registry'),
2188
lazy_registry=('breezy.controldir', 'format_registry'),
2189
2189
converter=lambda name: controldir.format_registry.make_bzrdir(name),
2190
2190
value_switches=True, title='Repository format'),
2191
2191
Option('no-trees',
2340
2340
def run(self, revision=None, file_list=None, diff_options=None,
2341
2341
prefix=None, old=None, new=None, using=None, format=None,
2343
from brzlib.diff import (get_trees_and_branches_to_diff_locked,
2343
from breezy.diff import (get_trees_and_branches_to_diff_locked,
2344
2344
show_diff_trees)
2346
2346
if (prefix is None) or (prefix == '0'):
2663
2663
RegistryOption('authors',
2664
2664
'What names to list as authors - first, all or committer.',
2665
2665
title='Authors',
2666
lazy_registry=('brzlib.log', 'author_list_registry'),
2666
lazy_registry=('breezy.log', 'author_list_registry'),
2668
2668
Option('levels',
2669
2669
short_name='n',
3187
3187
def run(self, name_pattern_list=None, default_rules=None,
3188
3188
directory=u'.'):
3189
from brzlib import ignores
3189
from breezy import ignores
3190
3190
if default_rules is not None:
3191
3191
# dump the default rules and exit
3192
3192
for pattern in ignores.USER_DEFAULTS:
3330
3330
def run(self, dest, branch_or_subdir=None, revision=None, format=None,
3331
3331
root=None, filters=False, per_file_timestamps=False, uncommitted=False,
3332
3332
directory=u'.'):
3333
from brzlib.export import export
3333
from breezy.export import export
3335
3335
if branch_or_subdir is None:
3336
3336
branch_or_subdir = directory
3418
3418
"{0!r} is not present in revision {1}").format(
3419
3419
filename, rev_tree.get_revision_id()))
3421
from brzlib.filter_tree import ContentFilterTree
3421
from breezy.filter_tree import ContentFilterTree
3422
3422
filter_tree = ContentFilterTree(rev_tree,
3423
3423
rev_tree._content_filter_stack)
3424
3424
content = filter_tree.get_file_text(actual_file_id)
3576
3576
unchanged=False, strict=False, local=False, fixes=None,
3577
3577
author=None, show_diff=False, exclude=None, commit_time=None,
3579
from brzlib.errors import (
3579
from breezy.errors import (
3580
3580
PointlessCommit,
3581
3581
ConflictsInTree,
3582
3582
StrictCommitFailed
3584
from brzlib.msgeditor import (
3584
from breezy.msgeditor import (
3585
3585
edit_commit_message_encoded,
3586
3586
generate_commit_message_template,
3587
3587
make_commit_message_template_encoded,
3813
3813
RegistryOption('format',
3814
3814
help='Upgrade to a specific format. See "brz help'
3815
3815
' formats" for details.',
3816
lazy_registry=('brzlib.controldir', 'format_registry'),
3816
lazy_registry=('breezy.controldir', 'format_registry'),
3817
3817
converter=lambda name: controldir.format_registry.make_bzrdir(name),
3818
3818
value_switches=True, title='Branch format'),
3819
3819
Option('clean',
3825
3825
def run(self, url='.', format=None, clean=False, dry_run=False):
3826
from brzlib.upgrade import upgrade
3826
from breezy.upgrade import upgrade
3827
3827
exceptions = upgrade(url, format, clean_up=clean, dry_run=dry_run)
3829
3829
if len(exceptions) == 1:
4048
4048
def get_transport_type(typestring):
4049
4049
"""Parse and return a transport specifier."""
4050
4050
if typestring == "sftp":
4051
from brzlib.tests import stub_sftp
4051
from breezy.tests import stub_sftp
4052
4052
return stub_sftp.SFTPAbsoluteServer
4053
4053
elif typestring == "memory":
4054
from brzlib.tests import test_server
4054
from breezy.tests import test_server
4055
4055
return memory.MemoryServer
4056
4056
elif typestring == "fakenfs":
4057
from brzlib.tests import test_server
4057
from breezy.tests import test_server
4058
4058
return test_server.FakeNFSServer
4059
4059
msg = "No known transport type %s. Supported types are: sftp\n" %\
4087
4087
help='List the tests instead of running them.'),
4088
4088
RegistryOption('parallel',
4089
4089
help="Run the test suite in parallel.",
4090
lazy_registry=('brzlib.tests', 'parallel_registry'),
4090
lazy_registry=('breezy.tests', 'parallel_registry'),
4091
4091
value_switches=False,
4093
4093
Option('randomize', type=str, argname="SEED",
4478
4478
return result_tree
4480
4480
def _do_preview(self, merger):
4481
from brzlib.diff import show_diff_trees
4481
from breezy.diff import show_diff_trees
4482
4482
result_tree = self._get_preview(merger)
4483
4483
path_encoding = osutils.get_diff_header_encoding()
4484
4484
show_diff_trees(merger.this_tree, result_tree, self.outf,
4504
4504
Shelver to selectively remove the differences between the working tree
4505
4505
and the preview tree.
4507
from brzlib import shelf_ui
4507
from breezy import shelf_ui
4508
4508
result_tree = self._get_preview(merger)
4509
writer = brzlib.option.diff_writer_registry.get()
4509
writer = breezy.option.diff_writer_registry.get()
4510
4510
shelver = shelf_ui.Shelver(merger.this_tree, result_tree, destroy=True,
4511
4511
reporter=shelf_ui.ApplyReporter(),
4512
4512
diff_writer=writer(sys.stdout))
4537
4537
def _get_merger_from_branch(self, tree, location, revision, remember,
4538
4538
possible_transports, pb):
4539
4539
"""Produce a merger from a location, assuming it refers to a branch."""
4540
from brzlib.tag import _merge_tags_if_possible
4540
from breezy.tag import _merge_tags_if_possible
4541
4541
# find the branch locations
4542
4542
other_loc, user_location = self._select_branch_location(tree, location,
4682
4682
def run(self, file_list=None, merge_type=None, show_base=False,
4683
4683
reprocess=False):
4684
from brzlib.conflicts import restore
4684
from breezy.conflicts import restore
4685
4685
if merge_type is None:
4686
4686
merge_type = _mod_merge.Merge3Merger
4687
4687
tree, file_list = WorkingTree.open_containing_paths(file_list)
5234
5234
return self._run(b, revision_id_list, revision)
5236
5236
def _run(self, b, revision_id_list, revision):
5237
import brzlib.gpg as gpg
5237
import breezy.gpg as gpg
5238
5238
gpg_strategy = gpg.GPGStrategy(b.get_config_stack())
5239
5239
if revision_id_list is not None:
5240
5240
b.repository.start_write_group()
5398
5398
def _run(self, b, tree, dry_run, verbose, revision, force, local,
5400
from brzlib.log import log_formatter, show_log
5401
from brzlib.uncommit import uncommit
5400
from breezy.log import log_formatter, show_log
5401
from breezy.uncommit import uncommit
5403
5403
last_revno, last_rev_id = b.last_revision_info()
5410
5410
# 'brz uncommit -r 10' actually means uncommit
5411
5411
# so that the final tree is at revno 10.
5412
# but brzlib.uncommit.uncommit() actually uncommits
5412
# but breezy.uncommit.uncommit() actually uncommits
5413
5413
# the revisions that are supplied.
5414
5414
# So we need to offset it by one
5415
5415
revno = revision[0].in_history(b).revno + 1
5521
5521
help='Serve on stdin/out for use from inetd or sshd.'),
5522
5522
RegistryOption('protocol',
5523
5523
help="Protocol to serve.",
5524
lazy_registry=('brzlib.transport', 'transport_server_registry'),
5524
lazy_registry=('breezy.transport', 'transport_server_registry'),
5525
5525
value_switches=True),
5526
5526
Option('listen',
5527
5527
help='Listen for connections on nominated address.', type=str),
5548
5548
def run(self, listen=None, port=None, inet=False, directory=None,
5549
5549
allow_writes=False, protocol=None, client_timeout=None):
5550
from brzlib import transport
5550
from breezy import transport
5551
5551
if directory is None:
5552
5552
directory = os.getcwd()
5553
5553
if protocol is None:
5676
5676
def run(self, submit_branch=None, public_branch=None, patch_type='bundle',
5677
5677
sign=False, revision=None, mail_to=None, message=None,
5678
5678
directory=u'.'):
5679
from brzlib.revision import ensure_null, NULL_REVISION
5679
from breezy.revision import ensure_null, NULL_REVISION
5680
5680
include_patch, include_bundle = {
5681
5681
'plain': (False, False),
5682
5682
'diff': (True, False),
5841
5841
Option('body', help='Body for the email.', type=unicode),
5842
5842
RegistryOption('format',
5843
5843
help='Use the specified output format.',
5844
lazy_registry=('brzlib.send', 'format_registry')),
5844
lazy_registry=('breezy.send', 'format_registry')),
5847
5847
def run(self, submit_branch=None, public_branch=None, no_bundle=False,
5848
5848
no_patch=False, revision=None, remember=None, output=None,
5849
5849
format=None, mail_to=None, message=None, body=None,
5850
5850
strict=None, **kwargs):
5851
from brzlib.send import send
5851
from breezy.send import send
5852
5852
return send(submit_branch, revision, public_branch, remember,
5853
5853
format, no_bundle, no_patch, output,
5854
5854
kwargs.get('from', '.'), mail_to, message, body,
5922
5922
format=None, strict=None, **kwargs):
5923
5923
if output is None:
5925
from brzlib.send import send
5925
from breezy.send import send
5926
5926
return send(submit_branch, revision, public_branch, remember,
5927
5927
format, no_bundle, no_patch, output,
5928
5928
kwargs.get('from', '.'), None, None, None,
6029
6029
@display_command
6030
6030
def run(self, directory='.', sort=None, show_ids=False, revision=None):
6031
from brzlib.tag import tag_sort_methods
6031
from breezy.tag import tag_sort_methods
6032
6032
branch, relpath = Branch.open_containing(directory)
6034
6034
tags = branch.tags.get_tag_dict().items()
6240
6240
def run(self, to_location=None, force=False, create_branch=False,
6241
6241
revision=None, directory=u'.', store=False):
6242
from brzlib import switch
6242
from breezy import switch
6243
6243
tree_location = directory
6244
6244
revision = _get_one_revision('switch', revision)
6245
6245
possible_transports = []
6540
6540
Option('all', help='Shelve all changes.'),
6542
6542
RegistryOption('writer', 'Method to use for writing diffs.',
6543
brzlib.option.diff_writer_registry,
6543
breezy.option.diff_writer_registry,
6544
6544
value_switches=True, enum_switch=False),
6546
6546
Option('list', help='List shelved changes.'),
6553
6553
writer=None, list=False, destroy=False, directory=None):
6555
6555
return self.run_for_list(directory=directory)
6556
from brzlib.shelf_ui import Shelver
6556
from breezy.shelf_ui import Shelver
6557
6557
if writer is None:
6558
writer = brzlib.option.diff_writer_registry.get()
6558
writer = breezy.option.diff_writer_registry.get()
6560
6560
shelver = Shelver.from_args(writer(sys.stdout), revision, all,
6561
6561
file_list, message, destroy=destroy, directory=directory)
6643
6643
Option('force', help='Do not prompt before deleting.')]
6644
6644
def run(self, unknown=False, ignored=False, detritus=False, dry_run=False,
6645
6645
force=False, directory=u'.'):
6646
from brzlib.clean_tree import clean_tree
6646
from breezy.clean_tree import clean_tree
6647
6647
if not (unknown or ignored or detritus):
6721
6721
# register lazy builtins from other modules; called at startup and should
6722
6722
# be only called once.
6723
6723
for (name, aliases, module_name) in [
6724
('cmd_bundle_info', [], 'brzlib.bundle.commands'),
6725
('cmd_config', [], 'brzlib.config'),
6726
('cmd_dpush', [], 'brzlib.foreign'),
6727
('cmd_version_info', [], 'brzlib.cmd_version_info'),
6728
('cmd_resolve', ['resolved'], 'brzlib.conflicts'),
6729
('cmd_conflicts', [], 'brzlib.conflicts'),
6730
('cmd_ping', [], 'brzlib.smart.ping'),
6731
('cmd_sign_my_commits', [], 'brzlib.commit_signature_commands'),
6732
('cmd_verify_signatures', [], 'brzlib.commit_signature_commands'),
6733
('cmd_test_script', [], 'brzlib.cmd_test_script'),
6724
('cmd_bundle_info', [], 'breezy.bundle.commands'),
6725
('cmd_config', [], 'breezy.config'),
6726
('cmd_dpush', [], 'breezy.foreign'),
6727
('cmd_version_info', [], 'breezy.cmd_version_info'),
6728
('cmd_resolve', ['resolved'], 'breezy.conflicts'),
6729
('cmd_conflicts', [], 'breezy.conflicts'),
6730
('cmd_ping', [], 'breezy.smart.ping'),
6731
('cmd_sign_my_commits', [], 'breezy.commit_signature_commands'),
6732
('cmd_verify_signatures', [], 'breezy.commit_signature_commands'),
6733
('cmd_test_script', [], 'breezy.cmd_test_script'),
6735
6735
builtin_command_registry.register_lazy(name, aliases, module_name)