/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/export/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2010-03-25 12:32:24 UTC
  • mfrom: (5115 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5116.
  • Revision ID: john@arbash-meinel.com-20100325123224-km80yrpbn7cm0jcr
Merge bzr.dev to be ready for NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005 Canonical Ltd
 
1
# Copyright (C) 2005-2010 Canonical Ltd
2
2
#
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.
20
20
"""
21
21
 
22
 
from bzrlib.trace import mutter
23
22
import os
24
23
import bzrlib.errors as errors
25
24
 
55
54
 
56
55
    When requesting a specific type of export, load the respective path.
57
56
    """
58
 
    def _loader(tree, dest, root, subdir, filtered):
 
57
    def _loader(tree, dest, root, subdir, filtered, per_file_timestamps):
59
58
        mod = __import__(module, globals(), locals(), [funcname])
60
59
        func = getattr(mod, funcname)
61
 
        return func(tree, dest, root, subdir, filtered=filtered)
 
60
        return func(tree, dest, root, subdir, filtered=filtered,
 
61
                    per_file_timestamps=per_file_timestamps)
62
62
    register_exporter(scheme, extensions, _loader)
63
63
 
64
64
 
65
 
def export(tree, dest, format=None, root=None, subdir=None, filtered=False):
 
65
def export(tree, dest, format=None, root=None, subdir=None, filtered=False,
 
66
           per_file_timestamps=False):
66
67
    """Export the given Tree to the specific destination.
67
68
 
68
69
    :param tree: A Tree (such as RevisionTree) to export
81
82
        a directory to start exporting from.
82
83
    :param filtered: If True, content filtering is applied to the
83
84
                     files exported.
 
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.
84
88
    """
85
89
    global _exporters, _exporter_extensions
86
90
 
99
103
        raise errors.NoSuchExportFormat(format)
100
104
    tree.lock_read()
101
105
    try:
102
 
        return _exporters[format](tree, dest, root, subdir, filtered=filtered)
 
106
        return _exporters[format](tree, dest, root, subdir, filtered=filtered,
 
107
                                  per_file_timestamps=per_file_timestamps)
103
108
    finally:
104
109
        tree.unlock()
105
110