diff --git a/src/batou/lib/file.py b/src/batou/lib/file.py
index 329a7038..980e3c59 100644
--- a/src/batou/lib/file.py
+++ b/src/batou/lib/file.py
@@ -244,13 +244,22 @@ class Directory(Component):
     source = None
     exclude = ()
 
+    verify_opts = None
+    sync_opts = None
+
     def configure(self):
         self.path = self.map(self.path)
         if self.source:
             # XXX The ordering is wrong. SyncDirectory should run *after*.
-            self += SyncDirectory(
-                self.path, source=self.source, exclude=self.exclude
-            )
+            args = {
+                "source": self.source,
+                "exclude": self.exclude,
+            }
+            if self.verify_opts:
+                args["verify_opts"] = self.verify_opts
+            if self.sync_opts:
+                args["sync_opts"] = self.sync_opts
+            self += SyncDirectory(self.path, **args)
 
     def verify(self):
         assert os.path.isdir(self.path)

diff --git a/src/batou/lib/tests/test_file.py b/src/batou/lib/tests/test_file.py
index 9d35bd15..841611b6 100644
--- a/src/batou/lib/tests/test_file.py
+++ b/src/batou/lib/tests/test_file.py
@@ -1153,3 +1153,14 @@ def test_syncdirectory_needs_update_on_nonexisting_target(root):
     with pytest.raises(batou.UpdateNeeded):
         sd = SyncDirectory("non_existing_dir", source="existing_dir")
         sd.verify()
+
+
+def test_directory_passes_args_to_syncdirectory(root):
+    d = Directory(
+        "target", source="source", verify_opts="-abc", sync_opts="-xyz"
+    )
+    d.prepare(root.component)
+    sd = d._
+    assert isinstance(sd, SyncDirectory)
+    assert sd.verify_opts == "-abc"
+    assert sd.sync_opts == "-xyz"

batou.lib.file.Directory: Allow to explicitly overwrite target directory
`batou.lib.file.Directory` should get a flag to either append or overwrite (-> rsync --delete) the contents of a target directory based on given source folder.

Usecase: 

When syncing sourcecode via something like 

```
        self += Directory(
            "docroot",
            source=os.path.join(self.root.defdir, "..", "..", "docroot"),
            exclude=["/docroot/wp-config.php", "/docroot/.htaccess"],
        )
```

it might happen that deleted files are not gone after. On the other hand making deletion a default would be dangerous 
src/batou/lib/tests/test_file.py::test_directory_passes_args_to_syncdirectory
src/batou/lib/tests/test_file.py::test_ensure_path_nonexistent_removes_normal_file src/batou/lib/tests/test_file.py::test_ensure_path_nonexistent_removes_normal_symlink src/batou/lib/tests/test_file.py::test_ensure_path_nonexistent_removes_broken_symlink src/batou/lib/tests/test_file.py::test_ensure_path_nonexistent_removes_directory src/batou/lib/tests/test_file.py::test_ensure_path_does_not_fail_on_nonexisting_path src/batou/lib/tests/test_file.py::test_presence_creates_nonexisting_file src/batou/lib/tests/test_file.py::test_presence_leaves_existing_file_with_content_intact src/batou/lib/tests/test_file.py::test_presence_creates_directories_if_configured src/batou/lib/tests/test_file.py::test_presence_doesnt_create_directories_by_default src/batou/lib/tests/test_file.py::test_presence_removes_conflicting_symlinks src/batou/lib/tests/test_file.py::test_presence_removes_conflicting_directories src/batou/lib/tests/test_file.py::test_directory_creates_directory src/batou/lib/tests/test_file.py::test_directory_creates_leading_directories_if_configured src/batou/lib/tests/test_file.py::test_directory_doesnt_create_leading_directories_by_default src/batou/lib/tests/test_file.py::test_filecomponent_baseclass_carries_path src/batou/lib/tests/test_file.py::test_content_passed_by_string src/batou/lib/tests/test_file.py::test_content_passed_by_string_template src/batou/lib/tests/test_file.py::test_content_with_unicode_requires_encoding src/batou/lib/tests/test_file.py::test_content_passed_by_string_notemplate src/batou/lib/tests/test_file.py::test_content_passed_by_file src/batou/lib/tests/test_file.py::test_content_passed_by_file_handles_encoding src/batou/lib/tests/test_file.py::test_content_passed_by_file_handles_encoding_on_verify src/batou/lib/tests/test_file.py::test_content_passed_by_file_defaults_to_utf8 src/batou/lib/tests/test_file.py::test_content_passed_by_file_template src/batou/lib/tests/test_file.py::test_content_passed_by_file_template_handles_encoding src/batou/lib/tests/test_file.py::test_content_passed_by_file_template_defaults_to_utf8 src/batou/lib/tests/test_file.py::test_content_passed_by_file_no_template_is_binary src/batou/lib/tests/test_file.py::test_binary_file_component src/batou/lib/tests/test_file.py::test_content_from_file_as_template_guessed src/batou/lib/tests/test_file.py::test_content_source_unclear src/batou/lib/tests/test_file.py::test_content_passed_by_file_using_path_as_default src/batou/lib/tests/test_file.py::test_content_template_with_explicit_context src/batou/lib/tests/test_file.py::test_content_relative_source_path_computed_wrt_definition_dir src/batou/lib/tests/test_file.py::test_content_only_required_changes_touch_file src/batou/lib/tests/test_file.py::test_content_does_not_allow_both_content_and_source src/batou/lib/tests/test_file.py::test_content_large_diff_logged src/batou/lib/tests/test_file.py::test_json_content_data_given src/batou/lib/tests/test_file.py::test_json_diff src/batou/lib/tests/test_file.py::test_json_diff_not_for_sensitive src/batou/lib/tests/test_file.py::test_json_content_data_given_compact src/batou/lib/tests/test_file.py::test_json_content_source_given src/batou/lib/tests/test_file.py::test_json_content_delayed_source_given src/batou/lib/tests/test_file.py::test_json_content_delayed_source_causes_predicting_verify_to_raise src/batou/lib/tests/test_file.py::test_json_content_source_with_override src/batou/lib/tests/test_file.py::test_json_content_source_missing src/batou/lib/tests/test_file.py::test_json_content_either_source_or_data src/batou/lib/tests/test_file.py::test_json_content_implicit_source src/batou/lib/tests/test_file.py::test_json_content_explicit_source src/batou/lib/tests/test_file.py::test_json_content_explicit_absolute_source src/batou/lib/tests/test_file.py::test_yaml_content_data_given src/batou/lib/tests/test_file.py::test_yaml_diff src/batou/lib/tests/test_file.py::test_yaml_diff_not_for_sensitive src/batou/lib/tests/test_file.py::test_yaml_content_source_given src/batou/lib/tests/test_file.py::test_yaml_content_delayed_source_given src/batou/lib/tests/test_file.py::test_yaml_content_delayed_source_causes_predicting_verify_to_raise src/batou/lib/tests/test_file.py::test_yaml_content_source_with_override src/batou/lib/tests/test_file.py::test_yaml_content_source_missing src/batou/lib/tests/test_file.py::test_yaml_content_either_source_or_data src/batou/lib/tests/test_file.py::test_yaml_content_implicit_source src/batou/lib/tests/test_file.py::test_yaml_content_explicit_source src/batou/lib/tests/test_file.py::test_yaml_content_explicit_absolute_source src/batou/lib/tests/test_file.py::test_mode_verifies_for_nonexistent_file src/batou/lib/tests/test_file.py::test_mode_ensures_mode_for_files[511-511] src/batou/lib/tests/test_file.py::test_mode_converts_to_numeric src/batou/lib/tests/test_file.py::test_mode_ensures_mode_for_directories src/batou/lib/tests/test_file.py::test_mode_does_not_break_on_platforms_without_lchmod src/batou/lib/tests/test_file.py::test_symlink_creates_new_link src/batou/lib/tests/test_file.py::test_symlink_updates_existing_link src/batou/lib/tests/test_file.py::test_file_creates_subcomponent_for_presence src/batou/lib/tests/test_file.py::test_file_creates_subcomponent_for_directory src/batou/lib/tests/test_file.py::test_file_creates_subcomponent_for_symlink src/batou/lib/tests/test_file.py::test_file_prohibits_unknown_ensure_parameter src/batou/lib/tests/test_file.py::test_owner_lazy src/batou/lib/tests/test_file.py::test_owner_is_configurable_when_user_doesnt_exist_yet src/batou/lib/tests/test_file.py::test_group_lazy src/batou/lib/tests/test_file.py::test_group_is_configurable_when_group_doesnt_exist_yet src/batou/lib/tests/test_file.py::test_purge_globs_and_deletes_tree src/batou/lib/tests/test_file.py::test_purge_globs_and_deletes_files src/batou/lib/tests/test_file.py::test_syncdirectory_needs_update_on_nonexisting_target