3148
3148
Option('per-file-timestamps',
3149
3149
help='Set modification time of files to that of the last '
3150
3150
'revision in which it was changed.'),
3151
Option('uncommitted',
3152
help='Export the working tree contents rather than that of the '
3152
3155
def run(self, dest, branch_or_subdir=None, revision=None, format=None,
3153
root=None, filters=False, per_file_timestamps=False, directory=u'.'):
3156
root=None, filters=False, per_file_timestamps=False, uncommitted=False,
3154
3158
from bzrlib.export import export
3156
3160
if branch_or_subdir is None:
3157
tree = WorkingTree.open_containing(directory)[0]
3161
branch_or_subdir = directory
3163
(tree, b, subdir) = controldir.ControlDir.open_containing_tree_or_branch(
3165
if tree is not None:
3166
self.add_cleanup(tree.lock_read().unlock)
3170
raise errors.BzrCommandError(
3171
gettext("--uncommitted requires a working tree"))
3161
b, subdir = Branch.open_containing(branch_or_subdir)
3164
rev_tree = _get_one_revision_tree('export', revision, branch=b, tree=tree)
3174
export_tree = _get_one_revision_tree('export', revision, branch=b, tree=tree)
3166
export(rev_tree, dest, format, root, subdir, filtered=filters,
3176
export(export_tree, dest, format, root, subdir, filtered=filters,
3167
3177
per_file_timestamps=per_file_timestamps)
3168
3178
except errors.NoSuchExportFormat, e:
3169
raise errors.BzrCommandError(gettext('Unsupported export format: %s') % e.format)
3179
raise errors.BzrCommandError(
3180
gettext('Unsupported export format: %s') % e.format)
3172
3183
class cmd_cat(Command):