From a2cb04fe7d20103f0cbb10e01e861b5842e4c859 Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Tue, 2 Jun 2015 02:09:25 +0100
Subject: [PATCH] fileutil: make the error behaviour of replace_file on Unix
 more similar to Windows.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---
 src/allmydata/util/fileutil.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/allmydata/util/fileutil.py b/src/allmydata/util/fileutil.py
index 26943212..133d2271 100644
--- a/src/allmydata/util/fileutil.py
+++ b/src/allmydata/util/fileutil.py
@@ -615,6 +615,8 @@ else:
         precondition_abspath(replacement_path)
         precondition_abspath(backup_path)
 
+        if not os.path.exists(replacement_path):
+            raise ConflictError("Replacement file not found: %r" % (replacement_path,))
         try:
             os.rename(replaced_path, backup_path)
             rename_no_overwrite(replacement_path, replaced_path)
-- 
2.45.2