14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
"""Commands for generating snapshot information about a brz tree."""
19
from .lazy_import import lazy_import
17
"""Commands for generating snapshot information about a bzr tree."""
19
from __future__ import absolute_import
21
from brzlib.lazy_import import lazy_import
21
23
lazy_import(globals(), """
24
27
version_info_formats,
27
from breezy.i18n import gettext
30
from brzlib.i18n import gettext
33
from .commands import Command
34
from .option import Option, RegistryOption
33
from brzlib.commands import Command
34
from brzlib.option import Option, RegistryOption
37
37
def _parse_version_info_format(format):
44
44
return version_info_formats.get_builder(format)
46
46
formats = version_info_formats.get_builder_formats()
47
raise errors.BzrCommandError(
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=('brzlib.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
100
raise errors.BzrCommandError(
102
gettext('brz version-info --revision takes exactly'
101
gettext('bzr version-info --revision takes exactly'
103
102
' one revision specifier'))
105
104
if location is None:
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)