From: Daira Hopwood Date: Tue, 15 Sep 2015 17:31:20 +0000 (+0100) Subject: replace_file should not fail if replaced_path does not exist. X-Git-Url: https://git.rkrishnan.org/%5B/%5D%20/uri/flags/(%5B%5E?a=commitdiff_plain;h=56da579ea423f85a66e6730cee8edbdf3f531f83;p=tahoe-lafs%2Ftahoe-lafs.git replace_file should not fail if replaced_path does not exist. Signed-off-by: Daira Hopwood --- diff --git a/src/allmydata/util/fileutil.py b/src/allmydata/util/fileutil.py index 16dda5c0..a12565f3 100644 --- a/src/allmydata/util/fileutil.py +++ b/src/allmydata/util/fileutil.py @@ -619,8 +619,11 @@ else: if not os.path.exists(replacement_path): raise ConflictError("Replacement file not found: %r" % (replacement_path,)) try: - if os.path.exists(replaced_path): + try: os.rename(replaced_path, backup_path) + except OSError as e: + if e.errno != errno.EEXIST: + raise rename_no_overwrite(replacement_path, replaced_path) except EnvironmentError: reraise(ConflictError)