53
57
self._to_file.write('adding %s\n' % _quote(path))
60
def skip_file(self, tree, path, kind, stat_value = None):
61
"""Test whether the given file should be skipped or not.
63
The default action never skips. Note this is only called during
66
:param tree: The tree we are working in
67
:param path: The path being added
68
:param kind: The kind of object being added.
69
:param stat: Stat result for this file, if available already
70
:return bool. True if the file should be skipped (not added)
75
class AddWithSkipLargeAction(AddAction):
76
"""A class that can decide to skip a file if it's considered too large"""
80
def skip_file(self, tree, path, kind, stat_value = None):
83
opt_name = 'add.maximum_file_size'
84
if self._maxSize is None:
85
# FIXME: We use the branch config as there is no tree config
87
config = tree.branch.get_config_stack()
88
self._maxSize = config.get(opt_name)
89
if stat_value is None:
90
file_size = os.path.getsize(path);
92
file_size = stat_value.st_size;
93
if self._maxSize > 0 and file_size > self._maxSize:
94
ui.ui_factory.show_warning(gettext(
95
"skipping {0} (larger than {1} of {2} bytes)").format(
96
path, opt_name, self._maxSize))
57
101
class AddFromBaseAction(AddAction):
58
102
"""This class will try to extract file ids from another tree."""