diff --git a/src/allmydata/dirnode.py b/src/allmydata/dirnode.py index b06836f32..117c80e45 100644 --- a/src/allmydata/dirnode.py +++ b/src/allmydata/dirnode.py @@ -98,6 +98,9 @@ class Adder: if name in children: if not self.overwrite: raise ExistingChildError("child '%s' already exists" % name) + + if self.overwrite == "only_files" and IDirectoryNode.providedBy(children[name][0]): + raise ExistingChildError("child '%s' already exists" % name) metadata = children[name][1].copy() else: metadata = {"ctime": now,