17
17
"""Commands for generating snapshot information about a brz tree."""
19
from __future__ import absolute_import
19
21
from .lazy_import import lazy_import
21
23
lazy_import(globals(), """
22
24
from breezy import (
24
27
version_info_formats,
27
30
from breezy.i18n import gettext
33
33
from .commands import Command
34
34
from .option import Option, RegistryOption
44
44
return version_info_formats.get_builder(format)
46
46
formats = version_info_formats.get_builder_formats()
47
raise errors.CommandError(
48
gettext('No known version info format {0}.'
49
' Supported types are: {1}').format(format, formats))
47
raise errors.BzrCommandError(gettext('No known version info format {0}.'
48
' Supported types are: {1}').format(
52
52
class cmd_version_info(Command):
76
76
takes_options = [RegistryOption('format',
77
'Select the output format.',
79
lazy_registry=('breezy.version_info_formats',
77
'Select the output format.',
79
lazy_registry=('breezy.version_info_formats',
81
81
Option('all', help='Include all possible information.'),
82
82
Option('check-clean', help='Check if tree is clean.'),
83
83
Option('include-history',
84
84
help='Include the revision-history.'),
85
85
Option('include-file-revisions',
86
86
help='Include the last revision for each file.'),
87
Option('template', type=str,
88
help='Template for the output.'),
87
Option('template', type=str, help='Template for the output.'),
91
90
takes_args = ['location?']
93
encoding_type = 'replace'
92
encoding_type = 'exact'
95
94
def run(self, location=None, format=None,
96
95
all=False, check_clean=False, include_history=False,
100
99
if revision and len(revision) > 1:
101
raise errors.CommandError(
100
raise errors.BzrCommandError(
102
101
gettext('brz version-info --revision takes exactly'
103
102
' one revision specifier'))
132
131
revision_id = None
134
133
builder = format(b, working_tree=wt,
135
check_for_clean=check_clean,
136
include_revision_history=include_history,
137
include_file_revisions=include_file_revisions,
138
template=template, revision_id=revision_id)
134
check_for_clean=check_clean,
135
include_revision_history=include_history,
136
include_file_revisions=include_file_revisions,
137
template=template, revision_id=revision_id)
139
138
builder.generate(self.outf)