Add self-contained gometalinter build tooling.
This commit is contained in:
44
tools/vendor/github.com/dchest/safefile/README.md
generated
vendored
Normal file
44
tools/vendor/github.com/dchest/safefile/README.md
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
# safefile
|
||||
|
||||
[](https://travis-ci.org/dchest/safefile) [](https://ci.appveyor.com/project/dchest/safefile)
|
||||
|
||||
Go package safefile implements safe "atomic" saving of files.
|
||||
|
||||
Instead of truncating and overwriting the destination file, it creates a
|
||||
temporary file in the same directory, writes to it, and then renames the
|
||||
temporary file to the original name when calling Commit.
|
||||
|
||||
|
||||
### Installation
|
||||
|
||||
```
|
||||
$ go get github.com/dchest/safefile
|
||||
```
|
||||
|
||||
### Documentation
|
||||
|
||||
<https://godoc.org/github.com/dchest/safefile>
|
||||
|
||||
### Example
|
||||
|
||||
```go
|
||||
f, err := safefile.Create("/home/ken/report.txt", 0644)
|
||||
if err != nil {
|
||||
// ...
|
||||
}
|
||||
// Created temporary file /home/ken/sf-ppcyksu5hyw2mfec.tmp
|
||||
|
||||
defer f.Close()
|
||||
|
||||
_, err = io.WriteString(f, "Hello world")
|
||||
if err != nil {
|
||||
// ...
|
||||
}
|
||||
// Wrote "Hello world" to /home/ken/sf-ppcyksu5hyw2mfec.tmp
|
||||
|
||||
err = f.Commit()
|
||||
if err != nil {
|
||||
// ...
|
||||
}
|
||||
// Renamed /home/ken/sf-ppcyksu5hyw2mfec.tmp to /home/ken/report.txt
|
||||
```
|
||||
Reference in New Issue
Block a user