1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Source: golang-github-natefinch-atomic
Section: golang
Priority: optional
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Uploaders: Taavi Väänänen <taavi@debian.org>,
Rules-Requires-Root: no
Build-Depends: debhelper-compat (= 13),
dh-sequence-golang,
golang-any,
Testsuite: autopkgtest-pkg-go
Standards-Version: 4.7.2
Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-github-natefinch-atomic
Vcs-Git: https://salsa.debian.org/go-team/packages/golang-github-natefinch-atomic.git
Homepage: https://github.com/natefinch/atomic
XS-Go-Import-Path: github.com/natefinch/atomic
Package: golang-github-natefinch-atomic-dev
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends},
Description: Go package for atomic file writing (library)
atomic is a go package for atomic file writing.
.
By default, writing to a file in go (and generally any language) can
fail partway through... you then have a partially written file, which
probably was truncated when the write began, and bam, now you've lost
data.
.
This go package avoids this problem, by writing first to a temp file,
and then overwriting the target file in an atomic way. This is easy on
linux, os.Rename just is atomic. However, on Windows, os.Rename is not
atomic, and so bad things can happen. By wrapping the windows API
moveFileEx, we can ensure that the move is atomic, and we can be safe in
knowing that either the move succeeds entirely, or neither file will be
modified.
|