1
# Copyright (C) 2005-2010 Canonical Ltd
1
# Copyright (C) 2005 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
19
19
Such as non-controlled directories, tarfiles, zipfiles, etc.
22
from bzrlib.trace import mutter
23
24
import bzrlib.errors as errors
55
56
When requesting a specific type of export, load the respective path.
57
def _loader(tree, dest, root, subdir, filtered, per_file_timestamps):
58
def _loader(tree, dest, root, subdir, filtered):
58
59
mod = __import__(module, globals(), locals(), [funcname])
59
60
func = getattr(mod, funcname)
60
return func(tree, dest, root, subdir, filtered=filtered,
61
per_file_timestamps=per_file_timestamps)
61
return func(tree, dest, root, subdir, filtered=filtered)
62
62
register_exporter(scheme, extensions, _loader)
65
def export(tree, dest, format=None, root=None, subdir=None, filtered=False,
66
per_file_timestamps=False):
65
def export(tree, dest, format=None, root=None, subdir=None, filtered=False):
67
66
"""Export the given Tree to the specific destination.
69
68
:param tree: A Tree (such as RevisionTree) to export
82
81
a directory to start exporting from.
83
82
:param filtered: If True, content filtering is applied to the
85
:param per_file_timestamps: Whether to use the timestamp stored in the
86
tree rather than now(). This will do a revision lookup
87
for every file so will be significantly slower.
89
85
global _exporters, _exporter_extensions
103
99
raise errors.NoSuchExportFormat(format)
106
return _exporters[format](tree, dest, root, subdir, filtered=filtered,
107
per_file_timestamps=per_file_timestamps)
102
return _exporters[format](tree, dest, root, subdir, filtered=filtered)