diff --git a/mercurial/testing/__init__.py b/mercurial/testing/__init__.py --- a/mercurial/testing/__init__.py +++ b/mercurial/testing/__init__.py @@ -33,5 +33,11 @@ def write_file(path, content=b''): - with open(path, 'wb') as f: + if content: + write_path = b'%s.tmp' % path + else: + write_path = path + with open(write_path, 'wb') as f: f.write(content) + if path != write_path: + os.rename(write_path, path)