atomic-write: Atomically write to a file

[ library, mit, system ] [ Propose Tags ]

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:

Note that at this time Windows is not supported, however we would appreciate contributions to the github repository.

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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, 0.2.0.7
Dependencies base (>=4.5 && <4.8), directory, filepath, temporary, unix [details]
License MIT
Copyright 2015 Stack Builders Inc.
Author Justin Leitgeb
Maintainer justin@stackbuilders.com
Category System
Source repo head: git clone https://github.com/stackbuilders/atomic-file
Uploaded by jsl at 2015-02-06T17:07:13Z
Distributions Arch:0.2.0.7, Debian:0.2.0.7, Fedora:0.2.0.7, LTSHaskell:0.2.0.7, NixOS:0.2.0.7, Stackage:0.2.0.7
Reverse Dependencies 6 direct, 59 indirect [details]
Downloads 14789 total (106 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-02-12 [all 1 reports]