From b75186533d768de0d2fed362775c6f00f18a5dd3 Mon Sep 17 00:00:00 2001 From: Pauline Middelink Date: Fri, 10 Mar 2017 22:45:26 +0100 Subject: [PATCH] Restore does not truncate files it restores Missing O_TRUNC when doing O_CREAT. Closes #875 --- src/restic/debug/debug.go | 2 +- src/restic/find_test.go | 2 +- src/restic/node.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/restic/debug/debug.go b/src/restic/debug/debug.go index 9856d9e2c..2d82188ea 100644 --- a/src/restic/debug/debug.go +++ b/src/restic/debug/debug.go @@ -53,7 +53,7 @@ func initDebugLogger() { } if err != nil && os.IsNotExist(errors.Cause(err)) { - f, err = fs.OpenFile(debugfile, os.O_WRONLY|os.O_CREATE, 0600) + f, err = fs.OpenFile(debugfile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600) } if err != nil { diff --git a/src/restic/find_test.go b/src/restic/find_test.go index effc58f24..f4d7266ee 100644 --- a/src/restic/find_test.go +++ b/src/restic/find_test.go @@ -44,7 +44,7 @@ func loadIDSet(t testing.TB, filename string) restic.BlobSet { } func saveIDSet(t testing.TB, filename string, s restic.BlobSet) { - f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE, 0644) + f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) if err != nil { t.Fatalf("unable to update golden file %v: %v", filename, err) return diff --git a/src/restic/node.go b/src/restic/node.go index 9f416a2a9..7cc750142 100644 --- a/src/restic/node.go +++ b/src/restic/node.go @@ -234,7 +234,7 @@ func (node Node) createFileAt(path string, repo Repository, idx *HardlinkIndex) return nil } - f, err := fs.OpenFile(path, os.O_CREATE|os.O_WRONLY, 0600) + f, err := fs.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0600) defer f.Close() if err != nil {