atomic-write: Atomically write to a file
Atomically write to a file on POSIX-compliant systems while preserving permissions.
On most Unix systems,
mv is an atomic operation. This makes it simple to write
to a file atomically just by using the mv operation. However, this will
destroy the permissions on the original file. This library does the following
to preserve permissions while atomically writing to a file:
If an original file exists, take those permissions and apply them to the temp file before
mving the file into place.
If the original file does not exist, create a following with default permissions (based on the currently-active umask).
This way, when the file is
mv'ed into place, the permissions will be the ones
held by the original file.
This library is based on similar implementations found in common libraries in Ruby and Python:
atomic-write, import the module corresponding to the type you wish to
write atomically, e.g., to write a (strict) ByteString atomically:
Then you can use the atomicWriteFile function that accepts a
FilePath and a
atomicWriteFile myFilePath myByteString
|Versions [faq]||0.1.0.0, 0.1.0.1, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6|
|Dependencies||base (>=4.5 && <5.0), bytestring (>=0.10.4), directory, filepath, temporary, text, unix-compat [details]|
|Copyright||2015-2018 Stack Builders Inc.|
|Source repo||head: git clone email@example.com:stackbuilders/atomic-write.git|
|Uploaded||by juanpaucar at Mon Nov 5 19:34:12 UTC 2018|
|Distributions||LTSHaskell:0.2.0.6, NixOS:0.2.0.6, Stackage:0.2.0.6|
|Downloads||3674 total (155 in the last 30 days)|
|Rating||2.0 (votes: 1) [estimated by rule of succession]|
Docs available [build log]
Last success reported on 2018-11-05 [all 1 reports]
For package maintainers and hackage trustees