Alexander Neumann
abb1dc4eb6
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
8d21bb92db
Add tests for invalid configs
2018-06-10 12:27:52 +02:00
Alexander Neumann
0b3c402801
Move options package to ui/options
2018-06-10 12:27:52 +02:00
Alexander Neumann
b3b70002ab
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
4916ba7a8a
wip name
2018-06-10 12:27:52 +02:00
Alexander Neumann
ea565df3e8
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
0758c92afc
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
8b0092908a
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
ffd7bc1021
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
6bad560324
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
7ad648c686
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
0c078cc205
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
1fbcf63830
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
740e2d6139
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
aaef54559a
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
722517c480
wip
2018-06-10 12:27:52 +02:00
Alexander Neumann
e4c0d77bdd
Add VERSION for 0.9.1
2018-06-10 11:31:03 +02:00
Alexander Neumann
1dd655dad2
Generate CHANGELOG.md for 0.9.1
2018-06-10 11:30:53 +02:00
Alexander Neumann
581d0984fe
Fix changelog entry
2018-06-10 11:29:57 +02:00
Alexander Neumann
e62add84bc
Move changelog files for 0.9.1
2018-06-10 11:22:32 +02:00
Alexander Neumann
63779c1eb4
Merge pull request #1839 from restic/fix-find
...
Fix find, do not skip some snapshots
2018-06-10 10:08:47 +02:00
Alexander Neumann
c204382ea9
Revert "Fix integration tests on Windows"
...
This reverts commit 33dbd0ba5c .
2018-06-10 00:01:28 +02:00
Alexander Neumann
321efec60c
Fix integration tests on Windows
2018-06-10 00:00:22 +02:00
Alexander Neumann
33dbd0ba5c
Fix integration tests on Windows
2018-06-09 23:58:44 +02:00
Alexander Neumann
9a73869c27
Update docs for RHEL/CentOS
2018-06-09 23:41:40 +02:00
Alexander Neumann
8f26fe271c
ls: Use walker for ls
2018-06-09 23:35:20 +02:00
Alexander Neumann
251335f124
Add entry to changelog
2018-06-09 23:35:20 +02:00
Alexander Neumann
081743d0a5
find: Use walker.Walk
2018-06-09 23:35:20 +02:00
Alexander Neumann
3a86f4852b
Add walker for trees in the repo
2018-06-09 23:35:20 +02:00
Alexander Neumann
14aead94b3
filter: Allow double wildcard in ChildMatch
2018-06-09 23:18:13 +02:00
Alexander Neumann
ce01ca30d6
find: Correct tree pruning optimization
...
The `find` command will now take care to only mark trees as "not found"
when the pattern couldn't be found within any subtree.
Closes #1825 , #1823
2018-06-09 18:59:13 +02:00
Alexander Neumann
e2d347a698
find: Use OS independent slash-based format
2018-06-09 18:58:13 +02:00
Alexander Neumann
42ebb0a0a6
backup: Parse timestamp earlier
2018-06-09 18:21:12 +02:00
Alexander Neumann
419acad3c3
Merge pull request #1837 from restic/fix-1833
...
cache: Ensure failed downloads are retried
2018-06-09 18:20:21 +02:00
Alexander Neumann
810b5ea076
Add entry to changelog
2018-06-09 17:55:51 +02:00
Alexander Neumann
fc5439a37a
cache: Ensure failed downloads are retried
...
This fixes #1833 , which consists of two different bugs:
* The `defer` in `cacheFile()` may remove a channel from the
`inProgress` map although it is not responsible for downloading the
file
* If the download fails, goroutines waiting for the file to be cached
assumed that the file was there, there was no way to signal the
error.
2018-06-09 17:50:56 +02:00
Alexander Neumann
48aab8bd65
Merge pull request #1836 from restic/update-blazer
...
Update github.com/kurin/blazer
2018-06-09 14:31:12 +02:00
Alexander Neumann
6fbcd1694b
Add entry to changelog
2018-06-09 14:31:02 +02:00
Alexander Neumann
494fe2a8b5
Merge pull request #1835 from restic/fix-1834
...
backup: Fix deadlock
2018-06-09 14:28:16 +02:00
Alexander Neumann
f761068f4e
Update github.com/kurin/blazer
2018-06-09 12:32:18 +02:00
Alexander Neumann
c44e808aa5
backup: Fix deadlock
...
When the archiver is faster than the scanner, restic deadlocks. This
commit adds a `finished` channel to the struct in `ui/backup.go` so that
scanner results are ignored when the archiver is already finished.
Closes #1834
2018-06-09 12:15:19 +02:00
Alexander Neumann
ab37c6095a
Merge pull request #1821 from michaelkoetter/fix-1795
...
#1795 use unix.IoctlGetWinsize to get terminal size
2018-06-07 20:20:06 +02:00
Michael Kötter
d6fd94e49d
Don't run Solaris build for go1.9
2018-06-04 15:04:50 +02:00
Michael Kötter
53040a2e34
add "solaris/amd64" to cross-compile archs
2018-06-04 12:51:34 +02:00
Alexander Neumann
cfc19b4582
Merge pull request #1828 from restic/handle-s3-list-errors
...
s3: Pass list errors up to the caller
2018-06-02 10:34:49 +02:00
Alexander Neumann
141fabdd09
s3: Pass list errors up to the caller
2018-06-01 22:15:23 +02:00
Alexander Neumann
d49ca42771
Merge pull request #1827 from restic/azure-large-files
...
azure: Support uploading large files
2018-06-01 18:37:26 +02:00
Alexander Neumann
f6fded729d
Add entry to changelog
2018-06-01 14:52:16 +02:00
Alexander Neumann
465700595c
azure: Support uploading large files
...
Closes #1822
2018-06-01 14:52:16 +02:00
Alexander Neumann
0fcd9d6926
Merge pull request #1824 from rfjakob/ssh_command_exited
...
sftp: persist "ssh command exited" error
2018-05-31 21:26:39 +02:00
Jakob Unterwurzacher
dd3b9910ee
sftp: persist "ssh command exited" error
...
If our ssh process has died, not only the next, but all subsequent
calls to clientError() should indicate the error.
restic output when the ssh process is killed with "kill -9":
Save(<data/afb68adbf9>) returned error, retrying after 253.661803ms: Write: failed to send packet header: write |1: file already closed
Save(<data/afb68adbf9>) returned error, retrying after 580.752212ms: ssh command exited: signal: killed
Save(<data/afb68adbf9>) returned error, retrying after 790.150468ms: ssh command exited: signal: killed
Save(<data/afb68adbf9>) returned error, retrying after 1.769595051s: ssh command exited: signal: killed
[...]
error in cleanup handler: ssh command exited: signal: killed
Before this patch:
Save(<data/de698d934f>) returned error, retrying after 252.84163ms: Write: failed to send packet header: write |1: file already closed
Save(<data/de698d934f>) returned error, retrying after 660.236963ms: OpenFile: failed to send packet header: write |1: file already closed
Save(<data/de698d934f>) returned error, retrying after 568.049909ms: OpenFile: failed to send packet header: write |1: file already closed
Save(<data/de698d934f>) returned error, retrying after 2.428813824s: OpenFile: failed to send packet header: write |1: file already closed
[...]
error in cleanup handler: failed to send packet header: write |1: file already closed
2018-05-30 19:28:14 +02:00
Alexander Neumann
185b60c22b
Document project governance
2018-05-28 22:29:06 +02:00
Michael Kötter
589c23dc23
#1795 use unix.IoctlGetWinsize to get terminal size
2018-05-27 23:44:48 +02:00
Alexander Neumann
0183fea926
Merge pull request #1820 from restic/fix-1803
...
termstatus: Fix panic for non-terminal runs
2018-05-27 13:08:25 +02:00
Alexander Neumann
7d9642523b
termstatus: Fix panic for non-terminal runs
...
Closes #1803
2018-05-27 12:52:01 +02:00
Alexander Neumann
4bf07a74a0
Merge pull request #1806 from mholt/patch-1
...
doc: Clarify multiple forget policies get ORed
2018-05-26 11:03:22 +02:00
Alexander Neumann
2a976d795f
b2: Remove extra error check
2018-05-26 10:12:30 +02:00
Alexander Neumann
1892b314f8
Merge pull request #1815 from restic/update-blazer
...
Update github.com/kurin/blazer
2018-05-25 20:46:35 +02:00
Alexander Neumann
b7bed406b9
Update github.com/kurin/blazer
2018-05-25 20:26:26 +02:00
Matt Holt
ee4202f7c3
doc: Clarify multiple forget policies get ORed
2018-05-23 17:28:02 -06:00
Alexander Neumann
4cd28713b6
Merge pull request #1802 from restic/rclone-add-limits
...
rclone: Add limiting bandwidth to the rclone backend
2018-05-22 21:19:52 +02:00
Alexander Neumann
e3fe87f269
Remove superseded feature from the CHANGELOG
...
For a discussion please see https://github.com/restic/restic/issues/1796
2018-05-22 20:57:07 +02:00
Alexander Neumann
a02698fcdd
Add entry to changelog
2018-05-22 20:48:29 +02:00
Alexander Neumann
bfd923e81e
rclone: Respect bandwith limits
2018-05-22 20:48:17 +02:00
Alexander Neumann
20bfed5985
Update build.go
2018-05-21 20:31:19 +02:00
Alexander Neumann
e40191942d
Add VERSION for 0.9.0
2018-05-21 15:57:32 +02:00
Alexander Neumann
abd34ab76f
Update manpages and auto-completion
2018-05-21 15:57:32 +02:00
Alexander Neumann
4b43a269ee
Generate CHANGELOG.md for 0.9.0
2018-05-21 15:57:22 +02:00
Alexander Neumann
e2b7dc6528
Move changelog files for the 0.9.0 release
2018-05-21 15:57:02 +02:00
Alexander Neumann
d2431b667f
Merge pull request #1794 from restic/fix-1789
...
Update docs, clarify --cacert
2018-05-21 12:35:06 +02:00
Alexander Neumann
b70fdf61c4
Merge pull request #1791 from restic/fix-1790
...
archiver: Fix backup from stdin
2018-05-21 12:07:55 +02:00
Alexander Neumann
e6f25c4811
Update docs, clarify --cacert
...
Closes #1789
2018-05-21 12:06:30 +02:00
Alexander Neumann
adb682bc43
archiver: Don't open files with O_NONBLOCK
...
This is not necessary any more, we're doing an lstat() before opening
an item, so we already known it's a file and not a pipe.
2018-05-20 16:11:51 +02:00
Alexander Neumann
1e9744c9a4
archiver: Refuse to save an empty snapshot
2018-05-20 16:11:51 +02:00
Alexander Neumann
9a02f17cc2
archiver: Add tests for Save() for fs.Reader
2018-05-20 16:11:36 +02:00
Alexander Neumann
c284712cae
Merge pull request #1784 from restic/improve-error-list
...
list: Improve error message
2018-05-18 21:53:09 +02:00
Alexander Neumann
2dbdf381b2
Merge pull request #1782 from skriss/add-s3-file-creds
...
Add S3 file creds and reorder creds chain
2018-05-18 21:52:54 +02:00
Alexander Neumann
a1a49ce211
Merge pull request #1787 from tyll/patch-1
...
Use more descriptive long option
2018-05-18 21:51:24 +02:00
Till Maas
3252e4200c
Use more descriptive long option
...
-r could also mean recursive so use --repo to be clear.
2018-05-18 19:25:56 +02:00
Alexander Neumann
8d9d218d1c
list: Improve error message
...
Before:
$ restic list
Fatal: type not specified
After:
$ restic list
Fatal: type not specified, usage: list [blobs|packs|index|snapshots|keys|locks]
Closes #1783
2018-05-17 19:41:56 +02:00
Steve Kriss
0785fbd418
changelog entry
...
Signed-off-by: Steve Kriss <steve@heptio.com >
2018-05-17 10:09:38 -07:00
Steve Kriss
b358dd369b
S3: rearrange credentials chain to be standard
...
Signed-off-by: Steve Kriss <steve@heptio.com >
2018-05-16 16:49:33 -07:00
Steve Kriss
d67b9a32c6
S3: add file credentials to chain
...
Signed-off-by: Steve Kriss <steve@heptio.com >
2018-05-16 16:35:14 -07:00
Alexander Neumann
ecfe59235e
Merge pull request #1781 from McKael/fix_restick_backup_rejectByDevice
...
Fix restic backup --one-file-system /
2018-05-16 21:58:58 +02:00
Mikael Berthe
a868a30f4d
Fix restic backup --one-file-system /
...
This patch should fix the following panic when trying to backup the
root filesystem with thre --one-file-system flag:
% restic backup --one-file-system /
(...)
panic: item /, device id 2082 not found, allowedDevs: map[/:2082]
2018-05-16 13:44:14 +02:00
Alexander Neumann
347a645450
Fix double error message
2018-05-15 11:03:33 +02:00
Alexander Neumann
9f5565b0fc
Merge pull request #1735 from mholt/forget-max-age
...
forget: Add --max-age policy to set hard cutoff for removing snapshots
2018-05-14 21:18:06 +02:00
Alexander Neumann
fd979ab4c5
Merge pull request #1779 from restic/improve-error
...
Improve error message for readdir/readdirnames
2018-05-14 21:17:57 +02:00
Alexander Neumann
375868edcf
Add documentation
2018-05-13 12:54:23 +02:00
Alexander Neumann
060d8b57e0
Restructure TestApplyPolicy
2018-05-13 12:48:42 +02:00
Alexander Neumann
cc627e832b
Add custom Duration type
2018-05-13 12:48:42 +02:00
Alexander Neumann
5a0f0e3faa
Add support for keeping a range of snapshots
2018-05-13 12:48:42 +02:00
Matthew Holt
b52f2aa9a4
forget: Add policy to keep snapshots before a date
2018-05-13 12:48:10 +02:00
Alexander Neumann
60ea2435be
Improve error message for readdir/readdirnames
...
As mentioned in the forum[1], restic does not include the dir name when
readdir/readdirnames fails.
[1] https://forum.restic.net/t/readdirnames-readdirent-no-such-file-or-directory/653
2018-05-13 10:34:50 +02:00
Alexander Neumann
159badf5ba
Merge pull request #1778 from restic/fix-1771
...
archiver: Improve error handling
2018-05-13 00:13:54 +02:00
Alexander Neumann
903a3a31dc
Merge pull request #1776 from restic/fix-1775
...
Always use cleaned path for excludes
2018-05-13 00:13:52 +02:00
Alexander Neumann
548227e6df
Merge pull request #1773 from ExoUNX/patch-1
...
Fix small typo
2018-05-13 00:13:49 +02:00
Alexander Neumann
cd03275005
Merge pull request #1774 from ExoUNX/patch-2
...
Fix formatting
2018-05-13 00:13:46 +02:00
Alexander Neumann
e43c9202a6
archiver: Make sure backend error is passed up
2018-05-12 23:55:59 +02:00
Alexander Neumann
c5e75d1c98
archiver: Add test for early abort on unhandled error
2018-05-12 23:55:59 +02:00
Alexander Neumann
526956af35
archiver: Read files/dirs in order
2018-05-12 23:55:54 +02:00
Alexander Neumann
256104111d
archiver: Clarify names
2018-05-12 23:55:54 +02:00
Alexander Neumann
21c83b1725
archiver: Add high-level documentation
2018-05-12 23:55:54 +02:00
Alexander Neumann
581c62ee72
archiver: Improve error handling
...
This commit changes how the worker goroutines for saving e.g. blobs
interact. Before, it was possible to get stuck sending an instruction to
archive a file or dir when no worker goroutines were available any more.
This commit introduces a `done` channel for each of the worker pools,
which is set to the channel returned by `tomb.Dying()`, so it is closed
when the first worker returned an error.
2018-05-12 23:55:54 +02:00
Alexander Neumann
ef7747313d
backup: Use absolute paths for allowed devices
2018-05-11 21:32:44 +02:00
Alexander Neumann
18d4ac2fd9
backup: Always use cleaned path for excludes
2018-05-11 21:32:41 +02:00
Alexander Neumann
9180e2c48a
Remove unneeded file excludes
2018-05-11 21:26:10 +02:00
Gaige Lama
a63989afcd
Ran gofmt on backend.go
...
I ran gofmt on backend.go, this appears to valid edit.
2018-05-11 11:07:16 -04:00
Gaige Lama
d3c0bd6d0e
Fix small typo
...
"explicitely" should be "explicitly"
2018-05-11 10:55:12 -04:00
Alexander Neumann
fcfa6f0355
build: Add option to enable PIE build mode
2018-05-11 09:50:10 +02:00
Alexander Neumann
580f90d745
Merge pull request #1770 from restic/handle-blob-save-errors
...
archiver: Correct error handling
2018-05-10 22:36:00 +02:00
Alexander Neumann
c7b624ba0d
Merge pull request #1769 from McKael/cat_snapshot_stacktrace
...
cat snapshot: Do not display a stack trace with invalid IDs
2018-05-10 21:41:04 +02:00
Alexander Neumann
ca4af43c03
archiver: Return low-level errors
...
This commit changes the archiver so that low-level errors saving data to
the repo are returned to the caller (instead of being handled by the
error callback function). This correctly bubbles up errors like a full
temp file system and makes restic abort early and makes all other worker
goroutines exit.
2018-05-10 21:30:09 +02:00
Alexander Neumann
1f2463f42e
archiver: Return correct error
2018-05-10 20:48:00 +02:00
Alexander Neumann
157c854d04
backup: Remove errored files from status display
2018-05-10 20:48:00 +02:00
Mikael Berthe
ffc276a603
cat: Do not display a stack trace
...
Don't show a stack trace when "restic cat snapshot" is invoked with
invalid/nonexistent IDs.
2018-05-10 19:22:46 +02:00
Alexander Neumann
e42b7db008
Merge pull request #1767 from restic/update-blazer
...
Update github.com/kurin/blazer
2018-05-08 22:48:54 +02:00
Alexander Neumann
024148cac9
Update github.com/kurin/blazer
2018-05-08 22:33:55 +02:00
Alexander Neumann
8943741a0b
Fix code block
2018-05-08 20:36:58 +02:00
Alexander Neumann
95c5517c35
Merge pull request #1765 from restic/update-deps
...
Update golang.org/x/{sys,crypto}
2018-05-08 19:34:30 +02:00
Alexander Neumann
06179a7e81
Change URL for Travis
2018-05-08 19:13:39 +02:00
Alexander Neumann
cf1fb50f9c
Merge pull request #1764 from restic/fix-display
...
Fix display
2018-05-07 23:30:50 +02:00
Alexander Neumann
6793300850
Raise minimum Go version to 1.9
...
The golang.org/sys/crypto library uses math/bits, which was only
introduced in Go 1.9.
2018-05-07 23:28:48 +02:00
Alexander Neumann
2cbdfbf652
Update golang.org/x/{sys,crypto}
2018-05-07 22:47:39 +02:00
Alexander Neumann
b2208bb9c2
Rework termstatus
...
This now keeps the cursor at the first column of the first status line
so that messages printed to stdout or stderr by some other part of the
progarm will still be visible. The message will overwrite the status
lines, but those are easily reprinted on the next status update.
2018-05-07 21:40:07 +02:00
Alexander Neumann
4c25495d68
backup: Hide percent until total size is known
2018-05-06 20:20:25 +02:00
Alexander Neumann
abdd59ea1b
Merge pull request #1757 from restic/fix-debug-1755
...
Fix panic for nil-pointer dereference
2018-05-03 21:11:37 +02:00
Alexander Neumann
05ca903d48
Mention that first backup will take longer
2018-05-03 20:57:30 +02:00
Alexander Neumann
fd77646f8b
Fix panic for nil-pointer dereference
...
Closes #1755
2018-05-03 20:49:30 +02:00
Alexander Neumann
2a67258867
Merge pull request #1754 from restic/fix-quiet
...
backup: Disable status output for --quiet
2018-05-02 21:42:17 +02:00
Alexander Neumann
fca4fe4459
backup: Disable status output for --quiet
2018-05-02 21:24:18 +02:00
Alexander Neumann
26757ae2e5
Merge pull request #1750 from restic/archiver-fix-small-things
...
backup: Tune user interface a bit
2018-05-01 23:15:54 +02:00
Alexander Neumann
9d6890a236
Merge pull request #1751 from restic/fix-archiver
...
archiver: Use lstat before open/fstat
2018-05-01 23:15:32 +02:00
Alexander Neumann
2218ecd049
archiver: Use lstat before open/fstat
...
The previous code tried to be as efficient as possible and only do a
single open() on an item to save, and then fstat() on the fd to find out
what the item is (file, dir, other). For normal files, it would then
start reading the data without opening the file again, so it could not
be exchanged for e.g. a symlink.
This behavior starts the watchdog on my machine when /dev is saved
with restic, and after a few seconds, the machine reboots.
This commit reverts the behavior to the strategy the old archiver code
used: run lstat(), then decide what to do. For normal files, open the
file and then run fstat() on the fd to verify it's still a normal file,
then start reading the data.
The downside is that for normal files we now do two stat() calls
(lstat+fstat) instead of only one. On the upside, this does not start
the watchdog. :)
2018-05-01 23:05:50 +02:00
Alexander Neumann
d0974c155d
backup: Tune user interface a bit
...
Make non-verbose mode a bit more verbose.
2018-05-01 22:18:32 +02:00
Alexander Neumann
8026e6fdfb
Merge pull request #1749 from restic/add-cache-cmd
...
Add 'cache' command to list and cleanup cache dirs
2018-05-01 21:25:52 +02:00
Alexander Neumann
01f9662614
Merge pull request #1748 from restic/detect-bom
...
Respect Encoding and Byte Order Mark when reading text files
2018-05-01 21:25:46 +02:00
Alexander Neumann
f928aeec34
Add 'cache' command
2018-05-01 16:27:44 +02:00
Alexander Neumann
f77bc0fae8
Use textfile.Read() to read files
...
This converts the text to UTF-8 and removes a Byte Order Mark.
2018-05-01 16:25:53 +02:00
Alexander Neumann
eb6650b201
Add textfile
2018-05-01 14:38:59 +02:00
Alexander Neumann
bc68d55e94
fs: Add TestTempFile
2018-05-01 14:38:41 +02:00
Alexander Neumann
ecbbd851a1
Merge pull request #1744 from restic/fix-parent-detect
...
backup: Clean target paths before finding parent
2018-05-01 11:13:19 +02:00
Alexander Neumann
336719b058
Merge pull request #1746 from brycied00d/fix_tls-client-cert_argument_parsing
...
http backend: Parse the correct argument when loading --tls-client-cert
2018-05-01 10:22:10 +02:00
Bryce Chidester
e9f1721678
http backend: Parse the correct argument when loading --tls-client-cert
...
Previously, the function read from ARGV[1] (hardcoded) rather than the
value passed to it, the command-line argument as it exists in globalOptions.
Resolves #1745
2018-04-30 15:21:09 -07:00
Alexander Neumann
64d98945a6
backup: Clean target paths before finding parent
...
This resolves an issue described in the forum where restic could not
find a parent snapshot if the target path ends with a slash:
https://forum.restic.net/t/new-archiver-code-please-test/623/23
2018-04-30 22:03:11 +02:00
Alexander Neumann
84f82dae1a
Correct typo
...
Closes #1743
2018-04-30 21:41:30 +02:00
Alexander Neumann
6bfd9f833b
Merge pull request #1742 from tbm/typos
...
Fix typos in section on rclone
2018-04-30 19:21:19 +02:00
Martin Michlmayr
bb1a22d1e6
Fix typos in section on rclone
2018-04-30 18:32:10 +02:00
Alexander Neumann
438719f269
Merge pull request #1741 from restic/improve-archiver
...
Improve archiver, fix hang on fifos
2018-04-30 16:00:10 +02:00
Alexander Neumann
c83c03ed63
archiver: Fix blocking on pipes
2018-04-30 15:34:58 +02:00
Alexander Neumann
19b9c881ca
fs: Add O_NONBLOCK
2018-04-30 15:34:58 +02:00
Alexander Neumann
4e34325035
archiver: Process dirs concurrently
2018-04-30 15:13:28 +02:00
Alexander Neumann
78bd591c7c
archiver: Improve buffer pool
2018-04-30 15:13:28 +02:00
Alexander Neumann
39ac12f6ea
archiver: Correct comment
2018-04-30 14:19:07 +02:00
Alexander Neumann
400730afca
archiver: Improve memory usage, tune buffer pool
2018-04-30 14:19:07 +02:00
Alexander Neumann
d80e108b03
backup: Clear status lines on finish
2018-04-30 14:19:07 +02:00
Alexander Neumann
846c2b6869
backup: Fix ETA calculation for >= 100%
2018-04-30 14:19:07 +02:00
Alexander Neumann
d8bbe5dc84
Print repository ID after opening
2018-04-30 14:19:07 +02:00
Alexander Neumann
d926b9fd80
Add profile build flag
2018-04-30 14:19:04 +02:00
Alexander Neumann
4ba8d40282
Add block profile option
2018-04-30 14:18:45 +02:00
Alexander Neumann
4fb1401266
Fix --cacert help text
2018-04-29 13:17:33 +02:00
Alexander Neumann
6d4c40f8d0
Add section about file read concurrency
2018-04-28 22:39:56 +02:00
Alexander Neumann
56e394ac33
Merge pull request #1494 from restic/new-archiver
...
New archiver code
2018-04-28 22:24:39 +02:00
Alexander Neumann
c3cc5d7cee
Update docs
2018-04-28 22:08:11 +02:00
Alexander Neumann
6b12b92339
Add entry to changelog
2018-04-28 22:08:11 +02:00
Alexander Neumann
16c314ab7f
termstatus: Don't print status if in background
2018-04-28 22:08:11 +02:00
Alexander Neumann
1449d7dc29
Remove background checking code
2018-04-28 22:08:11 +02:00
Alexander Neumann
0e78ac92d8
Use new archiver code for backup
2018-04-28 22:08:11 +02:00
Alexander Neumann
c703d21d55
Vendor gopkg.in/tomb.v2
2018-04-27 21:42:15 +02:00
Alexander Neumann
1af96fc6dd
Add termstatus
2018-04-27 21:42:15 +02:00
Alexander Neumann
9fac2ca832
Add flags to set verbosity
2018-04-25 14:42:45 +02:00
Alexander Neumann
a5c0cf2324
Add workaround for symlinked temp dir on darwin
...
Chdir to the tempdir, then use os.Getwd() to get the name that
filepath.Abs() uses (and stores in the Snapshot).
2018-04-25 14:42:45 +02:00
Alexander Neumann
38926d8576
Use new archiver code in tests
2018-04-25 14:42:45 +02:00
Alexander Neumann
f279731168
Add new archiver code
2018-04-25 14:42:45 +02:00
Alexander Neumann
76b616451f
Remove unneeded code
2018-04-23 21:40:33 +02:00
Alexander Neumann
fd12a3af20
Remove old archiver code
2018-04-23 21:40:33 +02:00
Alexander Neumann
3cd92efdcf
Vendor github.com/mattn/go-isatty
2018-04-22 11:37:05 +02:00
Alexander Neumann
b804279fe8
integration tests: Don't print anything to stdout
2018-04-22 11:37:05 +02:00
Alexander Neumann
a56b8fad87
repository: Improve buffer pooling
2018-04-22 11:37:05 +02:00
Alexander Neumann
4c00efd4bf
Vendor go-cmp
2018-04-22 11:37:05 +02:00
Alexander Neumann
b6f98bdb02
node: Fill minimal info
2018-04-22 11:37:05 +02:00
Alexander Neumann
c4b2486b7c
fs: Add interface and FS implementations
...
This adds two implementations of the new `FS` interface: One for the local
file system (`Local`) and one for a single file read from an
`io.Reader` (`Reader`).
2018-04-22 11:37:05 +02:00
Alexander Neumann
83ca08245b
checker: Check metadata size and blob sizes
2018-04-22 11:37:05 +02:00
Alexander Neumann
a069467e72
ls: Improve output
2018-04-22 11:37:05 +02:00
Alexander Neumann
6a7c23d2ae
tree: Add convenience functions
2018-04-22 11:37:05 +02:00
Alexander Neumann
cc847a3d6d
tree: Improve error for pre-existing node
2018-04-22 11:37:05 +02:00
Alexander Neumann
baebf45e2e
FindLatestSnapshot: Use absolute paths
2018-04-22 11:37:05 +02:00
Alexander Neumann
fa4f438bc1
snapshot: Do not modify slice of paths
2018-04-22 11:37:05 +02:00
Alexander Neumann
4e0b2a8e3a
snapshot: correct error handling for filepath.Abs
2018-04-22 11:37:05 +02:00
Alexander Neumann
0532f08048
Add test.Helper, also works with Go 1.8
2018-04-22 11:37:05 +02:00
Alexander Neumann
a472868e06
fs: Add TestChdir()
2018-04-22 11:37:05 +02:00
Alexander Neumann
e4fdc5eb76
fs: Add IsRegularFile()
2018-04-22 11:37:05 +02:00
Alexander Neumann
09365cc4ea
Add --trace-profile
2018-04-22 11:37:05 +02:00
Eri Bastos
2aa6b49651
Return exit code 130 when SIGINT is received
2018-04-20 21:09:50 +02:00
Alexander Neumann
7877797c7e
Merge pull request #1720 from mholt/new-password-flag
...
key: Add --new-password flag for non-interactive password changes
2018-04-20 14:52:41 +02:00
Matthew Holt
1a26355dbe
Add changelog file
2018-04-20 14:29:39 +02:00
Matthew Holt
c5829e9ffc
key: Add flag for non-interactive password changes
2018-04-20 14:29:39 +02:00
Alexander Neumann
b5b246edd5
Add entry to changelog
2018-04-20 14:23:37 +02:00
Alexander Neumann
ee5e14d536
Merge pull request #1731 from restic/fix-1730
...
Do not restore sockets, correct error handling
2018-04-20 14:21:01 +02:00
Alexander Neumann
09bd924710
Do not restore sockets, correct error handling
...
Closes #1730
2018-04-20 13:53:11 +02:00
Alexander Neumann
a9c2e84ccd
Merge pull request #1718 from ardichoke/patch-1
...
Update Autocompletion Generation Documentation
2018-04-13 22:23:37 +02:00
Ryan DeShone
a144b81c4a
Update Autocompletion Generation Documentation
...
The autocompletion command has been changed to generate. Update documentation to reflect this change.
2018-04-12 11:50:26 -04:00
Alexander Neumann
3c453a4217
Merge pull request #1715 from rawtaz/patch-1
...
Add "Including and Exluding Files" heading in docs
2018-04-11 21:27:22 +02:00
rawtaz
1e2f23d77a
Add "Including and Exluding Files" heading in docs
...
Adds "Including and Exluding Files" heading in the backup section in the docs.
[ci skip]
2018-04-11 21:14:26 +02:00
Alexander Neumann
2c76e724ab
Merge pull request #1712 from restic/list-ignore-non-existing-dirs
...
Improve handling non-existing dirs in List()
2018-04-10 21:54:00 +02:00
Alexander Neumann
577faa7570
local/sftp: Handling non-existing dirs in List()
2018-04-10 21:35:30 +02:00
Alexander Neumann
6a34e0d10f
Merge pull request #1709 from restic/improve-check-errors
...
Improve error message for orphaned pack files
2018-04-07 13:38:41 +02:00
Alexander Neumann
b08f21cdc6
Add entry to changelog
2018-04-07 13:05:44 +02:00
Alexander Neumann
1c1fede399
Improve error message for orphaned pack files
2018-04-07 10:07:54 +02:00
Alexander Neumann
63a0913e6e
Merge pull request #1705 from alirazeen/doc-add-scripting
...
Add scripting section to docs
2018-04-07 09:47:17 +02:00
Ali Razeen
325957443e
Add scripting section to docs
2018-04-04 10:43:20 -04:00
Alexander Neumann
4b2d3b15a2
Add entry to changelog
2018-04-03 20:42:06 +02:00
Alexander Neumann
4e2a87c920
Merge pull request #1703 from ebastos/issue1608
...
Fixed issue #1608 - Use --time argument properly
2018-04-03 20:40:41 +02:00
Eri Bastos
901e1b129c
Fixed issue #1608 - Use --time argument properly
...
Backups via stdin will now handle --time argument and pass it down as
expected
2018-04-03 14:40:42 -03:00
Alexander Neumann
4478d633e2
Merge pull request #1702 from restic/update-simple-scrypt
...
Update github.com/elithrar/simple-scrypt
2018-04-02 20:07:18 +02:00
Alexander Neumann
92f516b1d4
Update github.com/elithrar/simple-scrypt
...
For details see #1697
2018-04-02 19:48:25 +02:00
Alexander Neumann
03193e6d92
Fix changelog entries
2018-04-02 12:42:48 +02:00
Alexander Neumann
01fe719aff
check: Make sure temp cache dir is removed
2018-04-01 18:09:53 +02:00
Alexander Neumann
2c964df3e2
Merge pull request #1699 from restic/fix-incremental-backup-test
...
Slightly increment size for TestIncrementalBackup
2018-04-01 14:33:12 +02:00
Alexander Neumann
8919125b0b
Merge pull request #1696 from restic/fix-check-cache
...
check: Improve cache handling
2018-04-01 14:33:00 +02:00
Alexander Neumann
1f5137aa70
Add entry to CHANGELOG
2018-04-01 13:59:27 +02:00
Alexander Neumann
a95eb33616
check: Use cache in temporary directory if possible
...
Closes #1694
2018-04-01 13:59:27 +02:00
Alexander Neumann
e68a7fea8a
check: Allow filling the cache during check
...
Closes #1665
2018-04-01 13:59:27 +02:00
Alexander Neumann
2e7ec717c1
repository: Move cache preparation into function
2018-04-01 13:59:27 +02:00
Alexander Neumann
22d5061df2
Merge pull request #1698 from restic/reduce-backend-tests-travis
...
Travis: Skip cloud backend tests for most Go versions
2018-04-01 13:58:38 +02:00
Alexander Neumann
4544a77172
Slightly increment size for TestIncrementalBackup
...
This should make the test more reliable, it should hit the accidental
"repo is has grown too much" way less often.
2018-04-01 13:49:42 +02:00
Alexander Neumann
b3a073e066
Travis: Skip cloud backend tests for most Go versions
2018-04-01 13:13:38 +02:00
Alexander Neumann
b077a1227b
Merge pull request #1657 from restic/rclone-backend
...
Rclone backend
2018-04-01 10:56:10 +02:00
Alexander Neumann
3f48e0e0f4
Add extra options to rclone
...
For details see https://github.com/restic/restic/pull/1657#issuecomment-377707486
2018-04-01 10:34:30 +02:00
Alexander Neumann
86f4b03730
Remove unneeded byte counters
2018-04-01 10:18:38 +02:00
Alexander Neumann
c43c94776b
rclone: Make concurrent connections configurable
2018-04-01 10:18:38 +02:00
Alexander Neumann
0b776e63e7
backend/rclone: Request random file name
...
When `/` is requested, rclone returns the list of all files in the
remote, which is not what we want (and it can take quite some time).
2018-04-01 10:18:38 +02:00
Alexander Neumann
360ff1806a
doc: Fix instructions for rclone backend
2018-04-01 10:18:38 +02:00
Alexander Neumann
1beeb7d0dd
doc/REST: Make documentation match reality
2018-04-01 10:18:38 +02:00
Alexander Neumann
e978b36713
doc: Add hint how to debug rclone
2018-04-01 10:18:38 +02:00
Alexander Neumann
737d93860a
Extend first timeout to 60 seconds.
2018-04-01 10:18:38 +02:00
Alexander Neumann
011217e4bf
backend/rclone: Improve documentation and README
2018-04-01 10:18:38 +02:00
Alexander Neumann
362d5afec4
Add entry to changelog
2018-04-01 10:18:38 +02:00
Alexander Neumann
4172fcd167
doc: Add rclone backend
2018-04-01 10:18:38 +02:00
Alexander Neumann
518bf4e5f6
doc: Correct verbatim text in the manual
2018-04-01 10:18:38 +02:00
Alexander Neumann
17312d3a98
backend/rest: Ensure base URL ends with slash
...
This makes it easier for rclone.
2018-04-01 10:18:38 +02:00
Alexander Neumann
4d5c7a8749
backend/rclone: Make sure rclone terminates
2018-04-01 10:18:38 +02:00
Alexander Neumann
fc0295016a
Address code review comments
2018-04-01 10:18:38 +02:00
Alexander Neumann
99b62c11b8
backend/rclone: Stop rclone in case of errors
2018-04-01 10:18:38 +02:00
Alexander Neumann
6d9a029e09
backend/rclone: Prefix all error messages
2018-04-01 10:18:38 +02:00
Alexander Neumann
20352886f3
Update Gopkg.lock
2018-04-01 10:18:38 +02:00
Alexander Neumann
3622b60c13
CI: Check that rclone backend test isn't skipped
2018-04-01 10:16:31 +02:00
Alexander Neumann
065fe1e54f
backend/rclone: Skip test if binary is unavailable
2018-04-01 10:16:31 +02:00
Alexander Neumann
4dc0f24b38
backend/tests: Drain reader before returning error
2018-04-01 10:16:31 +02:00
Alexander Neumann
fe99340e40
Add rclone backend
2018-04-01 10:16:31 +02:00
Alexander Neumann
e377759c81
rest: Export Backend struct
2018-04-01 10:16:31 +02:00
Alexander Neumann
61f6db25f4
CI: install rclone
2018-04-01 10:16:31 +02:00
Alexander Neumann
cabbbd2b14
backend/rest: Export Content-Types
2018-04-01 10:16:31 +02:00
Alexander Neumann
cf4cf94418
Move backend/sftp.StartForeground to backend/
2018-04-01 10:16:31 +02:00
Alexander Neumann
34f27edc03
Refactor SplitShellStrings
2018-04-01 10:16:31 +02:00
Alexander Neumann
345b6c4694
Move backend/sftp.SplitShellArgs to backend/
2018-04-01 10:16:31 +02:00
Alexander Neumann
e4a39e02d2
Merge pull request #1695 from xulongwu4/patch-2
...
Add instructions for installation on Solus
2018-03-31 09:14:25 +02:00
xulongwu4
432e167255
Add instructions for installation on Solus
2018-03-30 17:36:29 -04:00
Alexander Neumann
594256bfa4
Merge pull request #1693 from restic/update-deps
...
Update dependencies
2018-03-30 17:19:08 +02:00
Alexander Neumann
0fcb1e6b7a
Merge pull request #1692 from restic/print-forget-policy
...
forget: Print policy
2018-03-30 17:19:05 +02:00
Alexander Neumann
38795c66c9
Update vendored library gopkg.in/yaml.v2
2018-03-30 12:53:13 +02:00
Alexander Neumann
c0960f538f
Update vendored library google.golang.org/api
2018-03-30 12:51:18 +02:00
Alexander Neumann
5b6568875c
Update vendored library golang.org/x/text
2018-03-30 12:50:04 +02:00
Alexander Neumann
d8dd79eb0b
Update vendored library golang.org/x/sys
2018-03-30 12:48:49 +02:00
Alexander Neumann
2bdeb645b9
Update vendored library golang.org/x/sync
2018-03-30 12:47:30 +02:00
Alexander Neumann
9f2ffa3e50
Update vendored library golang.org/x/oauth2
2018-03-30 12:46:26 +02:00
Alexander Neumann
d4bab5c133
Update vendored library golang.org/x/net
2018-03-30 12:45:07 +02:00
Alexander Neumann
3473d73d0c
Update vendored library github.com/spf13/cobra
2018-03-30 12:43:03 +02:00
Alexander Neumann
917cc542c9
Update vendored library github.com/sirupsen/logrus
2018-03-30 12:41:46 +02:00
Alexander Neumann
a9cf5d482a
Update vendored library github.com/russross/blackfriday
2018-03-30 12:40:05 +02:00
Alexander Neumann
75946e7c58
Update vendored library github.com/pkg/xattr
2018-03-30 12:38:37 +02:00
Alexander Neumann
19035e977b
Update vendored library github.com/pkg/sftp
2018-03-30 12:37:16 +02:00
Alexander Neumann
d9ba9279e0
Update vendored library github.com/ncw/swift
2018-03-30 12:35:13 +02:00
Alexander Neumann
31e156c666
Update vendored library github.com/minio/minio-go
2018-03-30 12:33:40 +02:00
Alexander Neumann
7e6fff324c
Update vendored library golang.org/x/crypto
2018-03-30 12:26:26 +02:00
Alexander Neumann
e94d2da890
Update vendored library github.com/golang/protobuf
2018-03-30 11:52:18 +02:00
Alexander Neumann
874b3dbbd9
Update vendored library github.com/go-ini/ini
2018-03-30 11:51:01 +02:00
Alexander Neumann
0d01c27c9e
Update vendored library github.com/dgrijalva/jwt-go
2018-03-30 11:49:18 +02:00
Alexander Neumann
30110fcfc2
Update vendored library github.com/cpuguy83/go-md2man
2018-03-30 11:48:16 +02:00
Alexander Neumann
673f0bbd6c
Update vendored library github.com/cenkalti/backoff
2018-03-30 11:45:27 +02:00
Alexander Neumann
5a77b2ab49
Update vendored library github.com/Azure/azure-sdk-for-go
2018-03-30 11:42:11 +02:00
Alexander Neumann
a951e7b126
Update vendored library cloud.google.com/go
2018-03-30 11:41:12 +02:00
Alexander Neumann
d3f9c8b362
forget: Print policy
2018-03-30 10:24:26 +02:00
Alexander Neumann
a4ff591165
Update URL to template
2018-03-25 11:55:37 +02:00
Alexander Neumann
49dd70c771
Merge pull request #1686 from gtrafimenkov/minor-spelling-fixes
...
Correct spelling mistakes
2018-03-25 11:54:53 +02:00
Gennady Trafimenkov
a64f24029b
Correct spelling mistakes
2018-03-25 00:42:33 +03:00
Alexander Neumann
0886738d24
Add entry to CHANGELOG
2018-03-24 18:40:49 +01:00
Alexander Neumann
9fc38803e0
Merge pull request #1684 from restic/fix-rest-tests
...
Fix rest-server tests
2018-03-24 18:39:44 +01:00
Alexander Neumann
e5c929b793
Fix rest-server tests
...
Since today, the rest-server needs to be explicitly told (via
`--no-auth`) that authentication is not necessary.
2018-03-24 18:06:21 +01:00
Alexander Neumann
0e0fee9c8f
Update changelog template
2018-03-24 17:31:21 +01:00
Alexander Neumann
26769a39eb
Merge pull request #1679 from rawtaz/version-oneliner
...
Make version output one line.
2018-03-23 21:14:37 +01:00
Leo R. Lundgren
923be90906
Make version output one line.
2018-03-21 21:49:03 +01:00
Alexander Neumann
84a22eac92
Merge pull request #1675 from oliver/doc-fixes
...
Minor doc fixes/improvements
2018-03-21 20:54:51 +01:00
Alexander Neumann
6eb1be0be4
Fix changelog files
2018-03-21 20:53:11 +01:00
Alexander Neumann
f31bbcf1a9
CI: Return error when calens fails
2018-03-21 20:53:01 +01:00
Alexander Neumann
5d09fca6a2
Merge pull request #1676 from bowensong/quiet-skip-scan
...
Skip archiver.Scan before backup when --quiet is set
2018-03-21 20:45:34 +01:00
Bowen Song
34671d7c9b
Skip archiver.Scan before backup when --quiet is set
2018-03-20 20:44:10 +00:00
Alexander Neumann
4a524da736
FAQ: Add suggestion on how to solve sftp error
2018-03-18 21:39:11 +01:00
Oliver Gerlich
e361cc3807
040_backup.rst: add note regarding paths in --files-from argument
2018-03-18 20:51:04 +01:00
Alexander Neumann
3cd8a7bc96
Fix small things left open by #1552
2018-03-18 19:54:12 +01:00
Alexander Neumann
8206f85d2e
Merge pull request #1552 from lawrencejones/use-auto-auth
...
Automatically load Google auth
2018-03-18 19:53:30 +01:00
Alexander Neumann
7022144e0f
Merge pull request #1673 from rawtaz/doc-precompiled
...
doc: Add more info about using pre-compiled builds.
2018-03-18 19:50:25 +01:00
Oliver Gerlich
1bee3e01fa
040_backup.rst: fix typo
2018-03-18 17:06:21 +01:00
Oliver Gerlich
624a2d8305
040_backup.rst: quote wildcard characters
...
This doesn't really matter for --exclude in most cases, but it avoids
spreading bad ideas.
2018-03-18 17:05:53 +01:00
Lawrence Jones
57c6233982
dep ensure
2018-03-16 10:31:30 +00:00
Leo R. Lundgren
c161aba084
doc: Add more info about using pre-compiled builds.
2018-03-15 21:23:07 +01:00
Alexander Neumann
0279fd7212
Merge pull request #1669 from restic/make-tests-faster
...
Reduce test runtime
2018-03-13 19:50:34 +01:00
Alexander Neumann
dedf17f5e8
Merge pull request #1650 from copart/patch-1
...
Added copr repositories for RHEL/Centos/Fedora
2018-03-11 21:52:18 +01:00
Alexander Neumann
817890794d
Merge pull request #1668 from restic/fix-1663
...
Return the first password/key which works
2018-03-11 21:51:54 +01:00
Alexander Neumann
b9ada91054
Reduce data for TestCreateSnapshot
2018-03-11 21:42:39 +01:00
Alexander Neumann
dfb6d0fced
Reduce data for TestIncrementalBackup
2018-03-11 21:17:27 +01:00
Alexander Neumann
c6c1dccc53
Reduce data set for TestRestore
2018-03-11 21:10:37 +01:00
Alexander Neumann
279566bafe
Reduce dataset for integration tests
2018-03-11 21:07:47 +01:00
Alexander Neumann
c67a8452f7
Disable polynomial check for chunker for tests
2018-03-11 20:59:40 +01:00
Alexander Neumann
5253ef218c
Remove TestParallelSaveWithDuplication
2018-03-11 19:49:48 +01:00
Alexander Neumann
0923976909
Remove TestArchiverDuplication
2018-03-11 19:44:25 +01:00
Lawrence Jones
492baf991f
Update docs and add changelog entry: Google auth
...
Add documentation around using default Google application credentials,
along with a changelog extra that describes the feature and the
potential impact on existing restic uses (read: none).
2018-03-11 17:12:30 +00:00
Lawrence Jones
0dfdc11ed9
Automatically load Google auth
...
This change removes the hardcoded Google auth mechanism for the GCS
backend, instead using Google's provided client library to discover and
generate credential material.
Google recommend that client libraries use their common auth mechanism
in order to authorise requests against Google services. Doing so means
you automatically support various types of authentication, from the
standard GOOGLE_APPLICATION_CREDENTIALS environment variable to making
use of Google's metadata API if running within Google Container Engine.
2018-03-11 17:11:25 +00:00
Alexander Neumann
54c6837ec4
Merge pull request #1651 from qbit/obsd_inst
...
doc: Add install instructions for OpenBSD
2018-03-11 14:49:40 +01:00
Alexander Neumann
e085713b35
Return the first password/key which works
...
Closes #1663
2018-03-11 14:12:21 +01:00
Alexander Neumann
e77d8c64a7
Merge pull request #1661 from restic/fix-rest-content-length
...
rest: Really set Content-Length HTTP header
2018-03-10 20:34:30 +01:00
Alexander Neumann
a410fa16a1
Merge pull request #1667 from restic/improve-error-config
...
Return error message for config decryption failure
2018-03-10 20:34:25 +01:00
Alexander Neumann
b3e1089cf9
Return error message for config decryption failure
...
See #1663
2018-03-09 21:05:35 +01:00
Alexander Neumann
7f8e269891
Merge pull request #1662 from ebastos/version_password
...
Skip checking for password file issue #1632
2018-03-09 20:42:32 +01:00
Alexander Neumann
fcc9ce81ba
rest: Really set Content-Length HTTP header
2018-03-09 20:21:34 +01:00
Eri Bastos
b9d643358a
Skip checking for password file existence if command is 'version' - Issue #1632
2018-03-08 17:55:03 -04:00
Alexander Neumann
ab5ef600a2
Merge pull request #1660 from ncw/rest-fix
...
backend/rest: check HTTP error response for List
2018-03-08 21:55:58 +01:00
Nick Craig-Wood
04c4033695
backend/rest: check HTTP error response for List
...
Before this change restic would attempt to JSON decode the error
message resulting in confusing `Decode: invalid character 'B' looking
for beginning of value` messages. Afterwards it will return `List
failed, server response: 400 Bad Request (400)`
2018-03-08 10:22:43 +00:00
Alexander Neumann
de37b68baa
Move all unreleased changelog entries
2018-03-05 21:31:52 +01:00
Alexander Neumann
bdc206d440
Remove unneeded mkdir
2018-03-05 21:17:57 +01:00
Alexander Neumann
efe2e792b3
Correct changelog entries
2018-03-05 21:17:52 +01:00
Alexander Neumann
6f3c23eba7
Merge pull request #1653 from restic/fix-1652
...
lock: Ignore invalid lock file
2018-03-05 20:49:03 +01:00
Alexander Neumann
4b34bc3210
Reformat changelog entry
2018-03-05 20:40:40 +01:00
Alexander Neumann
6ed9100aa1
Add version number hint for the changelog entry
2018-03-05 20:34:07 +01:00
Alexander Neumann
c63b02d0f1
Move changelog entries to unreleased version
2018-03-05 20:32:10 +01:00
Alexander Neumann
d0205ec889
Add entry to changelog
2018-03-05 20:22:45 +01:00
Alexander Neumann
d8dcbc89d1
lock: Ignore invalid lock file
...
This commit fixes a bug introduced in
e9ea268847 : When an invalid lock is
encountered (e.g. if the file is empty), the code used to ignore that,
but now returns the error.
Now, invalid files are ignored for the normal lock check, and removed
when `restic unlock --remove-all` is run.
Closes #1652
2018-03-05 20:19:57 +01:00
Alexander Neumann
be0a5b7f06
Merge pull request #1649 from jasperla/solaris
...
Minimal set of patches to get restic working on Solaris
2018-03-05 20:00:17 +01:00
Aaron Bieber
24ce08e122
doc: Add install instructions for OpenBSD
2018-03-05 06:31:57 -07:00
copart
864eaeab7c
Added copr repositories for RHEL/Centos/Fedora
2018-03-04 15:50:30 -05:00
Jasper Lievisse Adriaanse
96311d1a2b
Add support for illumos/Solaris
...
This does come without xattr/fuse support at this point.
NB: not hooking up the integration tests as restic won't compile without
cgo with Go < 1.10.
2018-03-04 20:11:29 +00:00
Alexander Neumann
da77f4a2e2
Merge pull request #1647 from duzvik/aws-session-token
...
Change priority of AWS credential providers to accept AWS_SESSION_TOKEN
2018-03-04 20:54:56 +01:00
denis.uzvik
6bb1bcce03
Change priority of AWS credential providers to accept AWS_SESSION_TOKEN
2018-03-04 19:58:27 +02:00
Alexander Neumann
6edf28d1e1
Merge pull request #1639 from restic/improve-backend-save
...
backend: Improve/Cleanup Save()
2018-03-04 13:35:50 +01:00
Alexander Neumann
929afc63d5
Use int64 for the length in the RewindReader
2018-03-04 10:40:42 +01:00
Alexander Neumann
99f7fd74e3
backend: Improve Save()
...
As mentioned in issue [#1560 ](https://github.com/restic/restic/pull/1560#issuecomment-364689346 )
this changes the signature for `backend.Save()`. It now takes a
parameter of interface type `RewindReader`, so that the backend
implementations or our `RetryBackend` middleware can reset the reader to
the beginning and then retry an upload operation.
The `RewindReader` interface also provides a `Length()` method, which is
used in the backend to get the size of the data to be saved. This
removes several ugly hacks we had to do to pull the size back out of the
`io.Reader` passed to `Save()` before. In the `s3` and `rest` backend
this is actively used.
2018-03-03 15:49:44 +01:00
Alexander Neumann
58306bfabb
Merge pull request #1648 from duzvik/s3-bucketexists
...
Ignore s3 AccessDenied error, during creation of repository
2018-03-02 22:38:33 +01:00
denis.uzvik
f6890210aa
Add entry to changelog
2018-03-02 11:06:06 +02:00
denis.uzvik
5873ab4031
Ignore s3 AccessDenied error, during creation of repository
2018-03-02 10:47:20 +02:00
Alexander Neumann
ab7a3a803d
Update build.go from github.com/fd0/build-go
2018-02-28 21:19:28 +01:00
Alexander Neumann
1e868933c5
build.go: Allow specifying the temp dir to use
2018-02-27 21:56:42 +01:00
Alexander Neumann
21f67a0a13
Fix linebreak in GitHub changelog template
2018-02-26 21:41:37 +01:00
Alexander Neumann
272ccec7e1
Add VERSION for 0.8.3
2018-02-26 21:32:16 +01:00
Alexander Neumann
68bf1509bd
Update manpages and auto-completion
2018-02-26 21:32:16 +01:00
Alexander Neumann
cfccd67600
Generate CHANGELOG.md for 0.8.3
2018-02-26 21:32:07 +01:00
Alexander Neumann
bc461d32e0
Add release date for 0.8.3
2018-02-26 21:31:50 +01:00
Alexander Neumann
ee4bfdf954
changelog: Fix spelling
2018-02-26 21:27:32 +01:00
Alexander Neumann
3037894f62
Add entry to changelog
2018-02-26 21:20:41 +01:00
Alexander Neumann
89075bdf6d
Merge pull request #1643 from restic/fix-1641
...
Ignore files in the repo with invalid names
2018-02-26 21:18:05 +01:00
Alexander Neumann
c323f73bf9
Ignore files in the repo with invalid names
...
Closes #1641
2018-02-26 20:53:38 +01:00
Alexander Neumann
aef5e03731
Merge pull request #1638 from restic/fix-list-retry
...
backend/retry: return worker function error and abort
2018-02-25 21:20:08 +01:00
Alexander Neumann
fc1f74d32d
Merge pull request #1640 from restic/fix-1637
...
mount: Ignore non-existing locks
2018-02-25 14:00:04 +01:00
Alexander Neumann
7d59df1ab8
mount: Ignore non-existing locks
...
Closes #1637
2018-02-25 13:11:03 +01:00
Alexander Neumann
2866f3f31c
Add pull request to changelog entry
2018-02-24 14:53:46 +01:00
Alexander Neumann
dc1154c8ad
Merge pull request #1556 from ifedorenko/check-subset
...
Add --read-data-subset flag to check command
2018-02-24 14:53:20 +01:00
Alexander Neumann
35a816e8ab
Add entry to changelog
2018-02-24 13:34:42 +01:00
Alexander Neumann
93210614f4
backend/retry: return worker function error and abort
...
This is a bug fix: Before, when the worker function fn in List() of the
RetryBackend returned an error, the operation is retried with the next
file. This is not consistent with the documentation, the intention was
that when fn returns an error, this is passed on to the caller and the
List() operation is aborted. Only errors happening on the underlying
backend are retried.
The error leads to restic ignoring exclusive locks that are present in
the repo, so it may happen that a new backup is written which references
data that is going to be removed by a concurrently running `prune`
operation.
The bug was reported by a user here:
https://forum.restic.net/t/restic-backup-returns-0-exit-code-when-already-locked/484
2018-02-24 13:26:13 +01:00
Alexander Neumann
dfd37afee2
Merge pull request #1636 from kurin/pack-header
...
Refactor the eager-header reads for readability.
2018-02-23 17:36:45 +01:00
Toby Burress
08a5281bd4
Incorporate PR review comments.
2018-02-22 17:37:10 +00:00
Toby Burress
cdb48a8970
Add tests for the eager-header refactor.
2018-02-22 01:14:04 +00:00
Toby Burress
4fd5f0b8a9
Refactor the eager-header reads for readability.
...
This pulls the header reads into a function that works in terms of the
number of records requested. This preserves the existing logic of
initially reading 15 records and then falling back if that fails.
In the event of a header with more than 15 records, it will read all
records, including the already-seen final 15 records.
2018-02-22 00:45:40 +00:00
Alexander Neumann
92ad6bf74f
Add pull request to changelog
2018-02-21 19:52:16 +01:00
Alexander Neumann
2c7dd3edf4
Merge pull request #1635 from ifedorenko/1633-negative-load-offset
...
Fixed unexpected 'pack file cannot be listed' error
2018-02-21 19:51:38 +01:00
Igor Fedorenko
19e7803ac6
Fixed unexpected 'pack file cannot be listed' error
...
Fixes #1633
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-02-20 21:28:57 -05:00
Alexander Neumann
9f0605766c
Add entry to changelog
2018-02-20 22:10:52 +01:00
Alexander Neumann
1a5d7a9965
Merge pull request #1634 from restic/update-blazer
...
Update github.com/kurin/blazer to 0.3.0
2018-02-20 22:01:30 +01:00
Alexander Neumann
296769355d
Update github.com/kurin/blazer to 0.3.0
...
This commit will reduce the number of HTTP requests per file uploaded
from two to one.
2018-02-20 21:01:21 +01:00
Igor Fedorenko
07d080830e
Add --read-data-subset flag to check command
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-02-18 23:31:27 -05:00
Alexander Neumann
c99eabfb37
Merge pull request #1625 from restic/update-blazer
...
Update B2 client library (github.com/kurin/blazer)
2018-02-18 19:18:52 +01:00
Alexander Neumann
842fe43590
Update github.com/kurin/blazer to 0.2.2
2018-02-18 14:53:23 +01:00
Alexander Neumann
be02008025
Merge pull request #1611 from qbit/master
...
On OpenBSD only root can set sticky bit
2018-02-18 12:57:54 +01:00
Alexander Neumann
29da86b473
Merge pull request #1623 from restic/backend-relax-restrictions
...
backend: Relax requirement for new files
2018-02-18 12:56:52 +01:00
Alexander Neumann
bad7215696
Add entry to CHANGELOG
2018-02-18 12:04:44 +01:00
Alexander Neumann
881ff5e554
Move changelog file, improve text
2018-02-18 11:51:45 +01:00
Alexander Neumann
86b7fd0335
Merge pull request #1624 from rawtaz/patch-1
...
Attempt to make issue template a bit clearer
2018-02-18 11:50:11 +01:00
rawtaz
70209d7d1d
End both list items with a dot.
...
Changed my mind after checking other lists in the project's files, ending with a dot seems to be preferred here, and I like that better too.
2018-02-17 23:47:40 +01:00
rawtaz
f07552161c
Remove potentially excessive dot
...
Some people like list items to not end with a comma or dot, some like it when they do. To keep things like and coherent I removed them in this case.
2018-02-17 23:40:30 +01:00
rawtaz
856f3a9135
Add forum URL back
2018-02-17 23:36:47 +01:00
Alexander Neumann
49e9bcadb7
Merge pull request #1560 from ifedorenko/1559-load-error-handling
...
Retry all repository file download errors
2018-02-17 23:25:28 +01:00
rawtaz
1b8823ef2e
Attempt to make issue template a bit clearer
2018-02-17 23:19:58 +01:00
Alexander Neumann
b5062959c8
backend: Relax requirement for new files
...
Before, all backend implementations were required to return an error if
the file that is to be written already exists in the backend. For most
backends, that means making a request (e.g. via HTTP) and returning an
error when the file already exists.
This is not accurate, the file could have been created between the HTTP
request testing for it, and when writing starts. In addition, apart from
the `config` file in the repo, all other file names have pseudo-random
names with a very very low probability of a collision. And even if a
file name is written again, the way the restic repo is structured this
just means that the same content is placed there again. Which is not a
problem, just not very efficient.
So, this commit relaxes the requirement to return an error when the file
in the backend already exists, which allows reducing the number of API
requests and thereby the latency for remote backends.
2018-02-17 22:39:18 +01:00
Alexander Neumann
2fb4d44a4d
Add VERSION for 0.8.2
2018-02-17 20:27:28 +01:00
Alexander Neumann
3c08f956a3
Update manpages and auto-completion
2018-02-17 20:27:28 +01:00
Alexander Neumann
1463a7aaaa
Generate CHANGELOG.md for 0.8.2
2018-02-17 20:27:17 +01:00
Alexander Neumann
76b8e080c3
changelog: Add release date for 0.8.2
2018-02-17 20:26:43 +01:00
Alexander Neumann
a9f9243afc
scripts/release: Fix usage for restic/builder
...
The restic/builder Docker container now has a slightly different usage.
2018-02-17 19:10:32 +01:00
Alexander Neumann
34bf9de339
Fix Go versions for Travis
2018-02-17 18:48:15 +01:00
Alexander Neumann
597f6be4e4
Disable CI tests on Go 1.8 on OS X
2018-02-17 18:39:16 +01:00
Alexander Neumann
aeeec0ff94
Update Go version for CI tests
2018-02-17 18:37:37 +01:00
Igor Fedorenko
ab040d8811
Introduced repository.DownloadAndHash helper
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-02-16 21:13:11 -05:00
Igor Fedorenko
d58ae43317
Reworked Backend.Load API to retry errors during ongoing download
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-02-16 21:12:14 -05:00
Alexander Neumann
b723094739
scripts/release: Check changelog subdir with date
2018-02-16 23:13:36 +01:00
Alexander Neumann
84dcc3c396
Update changelog/ for new version of calens
...
We've reworked calens[1] a bit, the changelog/releases file is not
needed any more. Insteady, the release date is stored in the dir name
which contains the changelog entries.
[1] https://github.com/restic/calens
2018-02-16 23:05:58 +01:00
Alexander Neumann
21747bc219
Remove punctuation from changelog entry title
2018-02-16 22:49:24 +01:00
Alexander Neumann
28b00891d2
scripts/release: Check Go version in container
2018-02-16 22:35:53 +01:00
Alexander Neumann
b4e00c324f
scripts/release: Check release date first
2018-02-16 21:52:34 +01:00
Alexander Neumann
4eb9df63cf
Merge pull request #1616 from rawtaz/fix-backup-doc
...
Restructure and complement exclude options doc
2018-02-14 22:11:14 +01:00
Alexander Neumann
fde674d214
Merge pull request #1615 from rawtaz/fix-forget-doc
...
Fix #1519 and formatting in `forget` doc
2018-02-14 22:11:10 +01:00
rawtaz
fbb08c14de
Note that multiple --exclude-file may be used.
2018-02-14 22:05:52 +01:00
Leo R. Lundgren
8b95b48bae
Fix grammar and formatting.
2018-02-14 02:59:47 +01:00
Leo R. Lundgren
71a4ccea71
Document refusal to process empty forget policy.
2018-02-14 02:59:41 +01:00
Leo R. Lundgren
5a9c7c51e6
Fix --keep-* options list formatting.
2018-02-14 02:59:33 +01:00
rawtaz
5abd133e26
Restructure and complement exclude options doc
2018-02-14 02:03:04 +01:00
Alexander Neumann
2debb5c0e0
Merge pull request #1613 from restic/strip-space-files-from
...
Strip spaces from items read via --files-from
2018-02-11 21:35:23 +01:00
Alexander Neumann
54c0794cf3
Merge pull request #1603 from jfparis/master
...
Add support for GOARM parameter when cross compiling
2018-02-11 21:03:29 +01:00
Alexander Neumann
cff3f3dc0d
Add entry to CHANGELOG
2018-02-11 21:00:38 +01:00
Alexander Neumann
c5575c7ed9
Strip spaces from items read via --files-from
...
In #1590 , it was mentioned that while lines read from exclude files via
`--exclude-file` have leading and trailing spaces stripped, this is not
the case for lines read via `--files-from`. This commit fixes that,
spaces are always stripped.
2018-02-11 20:56:11 +01:00
Aaron Bieber
99d88ad297
Disable the 'testSticky' test on OpenBSD. Only root can set sticky.
2018-02-11 07:46:31 -07:00
Alexander Neumann
7f0d964a05
Update build.go
2018-02-11 11:34:03 +01:00
Alexander Neumann
514f1b8917
Relax timeout backend test
2018-02-10 12:53:38 +01:00
Alexander Neumann
a7a99be460
Correct forum host name in issue template
...
Closes #1609
2018-02-10 11:13:22 +01:00
Alexander Neumann
e17f65b23a
Update logo
2018-02-05 20:48:48 +01:00
Jean-François Paris
e86fb5eedd
Add support for GOARM parameter when cross compiling
...
Go can cross compile to older ARM architectures (e.g. v5). In order to
do so one needs to use the GOARM parameter as documented in
https://github.com/golang/go/wiki/GoArm
2018-02-04 14:15:12 +00:00
Alexander Neumann
c8cb9a9509
Merge pull request #1579 from ifedorenko/RetryBackend-List
...
Implement RetryBackend.List()
2018-01-30 21:39:21 +01:00
Igor Fedorenko
aa333f4d49
Implement RetryBackend.List()
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-29 22:14:12 -05:00
Alexander Neumann
c40002246d
Merge pull request #1598 from Phaeilo/s3-tutorial
...
Update AWS S3 tutorial, fixing #1593
2018-01-29 21:52:32 +01:00
Philip Huppert
77a6054d64
Update AWS S3 tutorial, fixing #1593
2018-01-29 20:47:27 +01:00
Alexander Neumann
94ec55ff2c
Merge pull request #1595 from restic/remove-read-bandwidth
...
Remove archiver progress "data processed" bandwith
2018-01-28 10:15:53 +01:00
Alexander Neumann
2369da158f
Merge pull request #1592 from ncw/helpful-tests
...
Make backend tests more helpful
2018-01-28 10:09:35 +01:00
Alexander Neumann
5379950c64
Add entry to changelog
2018-01-28 09:36:55 +01:00
Alexander Neumann
cbfa516575
Remove archiver progress "data processed" bandwith
...
This commit removes the bandwidth displayed during backup process. It is
misleading and seldomly correct, because it's neither the "read
bandwidth" (only for the very first backup) nor the "upload bandwidth".
Many users are confused about (and rightly so), c.f. #1581 , #1033 , #1591
We'll eventually replace this display with something more relevant when
#1494 is done.
2018-01-28 09:30:26 +01:00
Nick Craig-Wood
fb62da1748
Make backend tests more helpful
...
* In TestList check that backend is empty first
* Improve error message in TestBackend
2018-01-27 21:36:35 +00:00
Alexander Neumann
b1b1f6e04f
Merge pull request #1594 from restic/gcs-use-http-transport
...
GS: Use generic http transport
2018-01-27 22:16:49 +01:00
Alexander Neumann
05f826a4fc
Update Gopkg.lock
2018-01-27 21:48:41 +01:00
Alexander Neumann
649afb1198
Add entry to changelog
2018-01-27 20:16:51 +01:00
Alexander Neumann
5dc8d3588d
GS: Use generic http transport
...
During the development of #1524 I discovered that the Google Cloud
Storage backend did not yet use the HTTP transport, so things such as
bandwidth limiting did not work. This commit does the necessary magic to
make the GS library use our HTTP transport.
2018-01-27 20:12:34 +01:00
Alexander Neumann
9d2aa0a71c
Merge pull request #1524 from brycied00d/https_client_certificate
...
Support for TLS client certificate authentication
2018-01-27 20:12:09 +01:00
Alexander Neumann
c34db983d8
Read TLS client cert and key from the same file
2018-01-27 14:02:01 +01:00
Bryce Chidester
e805b968b1
Support for TLS client certificate authentication
...
This adds --tls-client-cert and --tls-client-key parameters and enables use
of that certificate/key pair when connecting to https servers.
2018-01-27 13:18:22 +01:00
Alexander Neumann
e706f1a8d1
Merge pull request #1589 from restic/fix-intermediate-index-upload
...
archiver: Fix intermediate index upload
2018-01-27 12:22:11 +01:00
Alexander Neumann
4219bfbcc9
Add entry to changelog
2018-01-26 22:05:53 +01:00
Alexander Neumann
f99c95c766
archiver: Fix intermediate index upload
...
A user discovered[1] that when the backup finishes during the upload of
an intermediate index, the upload is cancelled and the index never fully
saved, but the snapshot is saved and the backup finalizes without an
error. This lead to a situation where a snapshot references data that is
contained in the repo, but not referenced in any index, leading to
strange error messages.
This commit uses a dedicated context to signal the intermediate index
uploading routine to terminate after the last index has been uploaded.
This way, an upload running when the backup finishes is completed before
the routine terminates and the snapshot is saved.
[1] https://forum.restic.net/t/error-loading-tree-check-prune-and-forget-gives-error-b2-backend/406
2018-01-26 22:01:07 +01:00
Alexander Neumann
cccb2fc7e7
Merge pull request #1583 from restic/close-open-backend-files
...
Close backend files in case of errors
2018-01-26 21:57:28 +01:00
Alexander Neumann
ff3de66ddf
Merge pull request #1582 from restic/optimize-debug-log
...
Optimize debug logs
2018-01-26 21:57:18 +01:00
Alexander Neumann
fb0d01ef1f
Add pull request URL to changelog
2018-01-26 21:56:59 +01:00
Alexander Neumann
e11a183578
Merge pull request #1588 from restic/fix-sftp-without-tty
...
sftp: Allow running ssh without a tty
2018-01-26 21:56:41 +01:00
Alexander Neumann
ee6732d2c6
Add entry to changelog
2018-01-26 21:56:29 +01:00
Alexander Neumann
4b2f2b542d
Merge pull request #1584 from restic/limit-index-file-size
...
Limit index file size
2018-01-26 21:53:12 +01:00
Alexander Neumann
6eb2d76435
index: Lower parallel load to 4
2018-01-26 21:10:38 +01:00
Alexander Neumann
f63c7048c7
index: Limit index files to 3000 pack files
2018-01-26 21:07:16 +01:00
Alexander Neumann
ca3c566a99
index: Check structure after saving a new index
2018-01-26 21:07:16 +01:00
Alexander Neumann
7719cf88d9
b2: Check timeout
2018-01-26 21:07:05 +01:00
Alexander Neumann
00e905ebe6
sftp: Allow running ssh without a tty
2018-01-26 19:21:14 +01:00
Alexander Neumann
164acceb55
Appveyor: Update Go version and download URL
2018-01-25 21:09:23 +01:00
Alexander Neumann
909d9273cc
Close backend files in case of errors
2018-01-25 21:05:57 +01:00
Alexander Neumann
d62a664bb7
Merge pull request #1580 from ifedorenko/tests-errors-cause
...
Use errors.Cause in backend TestListCancel
2018-01-25 20:55:43 +01:00
Alexander Neumann
663c57ab4d
debug: Remove manual Str() call Log()
2018-01-25 20:49:41 +01:00
Alexander Neumann
ed99f53786
debug: Auto-shorten IDs passed as parameters
2018-01-25 20:49:26 +01:00
Igor Fedorenko
abc4027083
Use errors.Cause in backend TestListCancel
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-25 08:53:50 -05:00
Alexander Neumann
d6212ee2d9
Fix entry to changelog
2018-01-24 20:54:51 +01:00
Alexander Neumann
9c55e8d69c
Merge pull request #1549 from MJDSys/more_index_lookup_avoids
...
More optimizations to avoid calling Index.Lookup()
2018-01-24 20:53:30 +01:00
Alexander Neumann
1c9fca6d14
Combine changelog files for #1574 and #1575
2018-01-24 20:07:22 +01:00
Alexander Neumann
be205563be
Merge pull request #1575 from ifedorenko/1567_optimize-repository-ListPack
...
Optimize Repository.ListPack()
2018-01-24 20:01:15 +01:00
Alexander Neumann
fc6c341b26
Merge pull request #1574 from ifedorenko/1567_optimize-pack-readHeader
...
Optimize pack readHeader() implementation
2018-01-24 19:54:14 +01:00
Alexander Neumann
f86c141b83
Merge pull request #1577 from EdwardBetts/patch-1
...
Correct a spelling mistake.
2018-01-24 19:44:49 +01:00
Alexander Neumann
a6d4888d48
Merge pull request #1573 from restic/update-dps
...
Update dependencies
2018-01-24 19:43:32 +01:00
Alexander Neumann
44550a88a0
Merge pull request #1571 from restic/rework-backend-list
...
Rework backend list
2018-01-24 19:43:07 +01:00
Edward Betts
b5c23695c9
Correct a spelling mistake.
2018-01-24 12:09:41 +00:00
Igor Fedorenko
0084e42cb6
Optimize Repository.ListPack()
...
Use pack file size returned by Backend.List() to avoid extra per-pack
Backend.Stat() requests
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-23 22:39:51 -05:00
Matthew Dawson
fe33c05a20
debug/log: Add benchmarks for calling the logging function
...
Add some benchmarks for calling Log, both with a static string
along with calling the ID.Str and ID.String functions.
2018-01-23 22:30:00 -05:00
Matthew Dawson
3789e55e20
repostiory/index: Remove logging from Lookup function.
...
The logging in these functions double the time they take to execute.
However, it is only really useful on failures, which are better
reported by the calling functions.
benchmark old ns/op new ns/op delta
BenchmarkMasterIndexLookupSingleIndex-6 897 395 -55.96%
BenchmarkMasterIndexLookupMultipleIndex-6 2001 1090 -45.53%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 492 215 -56.30%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 1649 912 -44.69%
benchmark old allocs new allocs delta
BenchmarkMasterIndexLookupSingleIndex-6 9 1 -88.89%
BenchmarkMasterIndexLookupMultipleIndex-6 19 1 -94.74%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 6 0 -100.00%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 16 0 -100.00%
benchmark old bytes new bytes delta
BenchmarkMasterIndexLookupSingleIndex-6 160 96 -40.00%
BenchmarkMasterIndexLookupMultipleIndex-6 240 96 -60.00%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 48 0 -100.00%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 128 0 -100.00%
2018-01-23 22:28:38 -05:00
Matthew Dawson
4cec7e236a
Add Changelog
2018-01-23 22:28:32 -05:00
Matthew Dawson
3a16148447
archiver/archiver: Use Index.Has() instead of Index.Lookup() in isKnownBlob
...
Index.Has() is a faster then Index.Lookup() for checking if a blob exists
in the index. As the returned data is never used, this avoids a ton
of allocations.
2018-01-23 22:26:10 -05:00
Matthew Dawson
df2c03a6a4
repository/master_index: Optimize Index.Lookup()
...
When looking up a blob in the master index, with several
indexes present in the master index, a significant amount of time
is spent generating errors for each failed lookup. However, these
errors are often used to check if a blob is present, but the contents
are not inspected making the overhead of the error not useful.
Instead, change Index.Lookup (and Index.LookupSize) to instead return
a boolean denoting if the blob was found instead of an error. Also change
all the calls to these functions to handle the new function signature.
benchmark old ns/op new ns/op delta
BenchmarkMasterIndexLookupSingleIndex-6 820 897 +9.39%
BenchmarkMasterIndexLookupMultipleIndex-6 12821 2001 -84.39%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 5378 492 -90.85%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 17026 1649 -90.31%
benchmark old allocs new allocs delta
BenchmarkMasterIndexLookupSingleIndex-6 9 9 +0.00%
BenchmarkMasterIndexLookupMultipleIndex-6 59 19 -67.80%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 22 6 -72.73%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 72 16 -77.78%
benchmark old bytes new bytes delta
BenchmarkMasterIndexLookupSingleIndex-6 160 160 +0.00%
BenchmarkMasterIndexLookupMultipleIndex-6 3200 240 -92.50%
BenchmarkMasterIndexLookupSingleIndexUnknown-6 1232 48 -96.10%
BenchmarkMasterIndexLookupMultipleIndexUnknown-6 4272 128 -97.00%
2018-01-23 22:25:56 -05:00
Matthew Dawson
ebce4b2581
repository/index: Speed up benchmarks and tests
...
When setting up the index used for benchmarking, use math/rand instead of
crypto/rand since the generated ids don't need to be evenly distributed,
and not be secure against guessing. As such, use a different random id
function (only available during tests) that uses math/rand instead.
2018-01-23 22:21:05 -05:00
Igor Fedorenko
953f3d55ee
Optimize pack readHeader() implementation
...
Load pack header length and 15 header entries with single backend
request. This eliminates separate header Load() request for most pack
files and significantly improves index.New() performance.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-23 22:02:25 -05:00
Alexander Neumann
7e6bfdae79
backend/rest: Implement REST API v2
2018-01-23 23:15:26 +01:00
Alexander Neumann
0f4cbea27d
Document the REST v2 protocol
2018-01-23 23:15:26 +01:00
Alexander Neumann
59782e347c
repository: Fix repack test
...
This reduces the chance of duplicate blobs, otherwise the tests fail
(make the contents of a blob depend on a pseudo-random number instead of
the size, sizes may be duplicate).
2018-01-23 23:14:05 +01:00
Alexander Neumann
e835abeceb
backend/test: Reliably trigger timeout error
2018-01-23 23:14:05 +01:00
Alexander Neumann
8e812b7ac0
errors: Make Cause() unwrap *url.Error
2018-01-23 23:14:05 +01:00
Alexander Neumann
685ce719ad
Add comments for List()
2018-01-23 23:14:05 +01:00
Alexander Neumann
2b39f9f4b2
Update dependencies
...
Among others, this updates minio-go, so that the new "eu-west-3" zone
for AWS is supported.
2018-01-23 19:40:42 +01:00
Alexander Neumann
b63de7c798
script/release: Tag versioned docker image
2018-01-21 21:41:14 +01:00
Alexander Neumann
b0c6e53241
Fix calls to repo/backend.List() everywhere
2018-01-21 21:15:09 +01:00
Alexander Neumann
e9ea268847
Change List() implementation for all backends
2018-01-21 21:15:09 +01:00
Alexander Neumann
dd91b13ff3
Vendor golang.org/x/sync
2018-01-21 18:35:37 +01:00
Alexander Neumann
c4e9d5d11e
backend: Add tests for new List() function
2018-01-21 18:35:37 +01:00
Alexander Neumann
52230b8f07
backend: Rework List()
...
For a discussion see #1567
2018-01-21 18:35:37 +01:00
Alexander Neumann
a3d43a92b3
Merge pull request #1569 from restic/ext-rest-backend-test
...
REST: refactor backend tests
2018-01-21 18:02:09 +01:00
Alexander Neumann
2130897ce0
rest: Add test for external server
2018-01-20 10:25:47 +01:00
Alexander Neumann
67da240068
rest: Refactor backend tests
2018-01-20 10:25:37 +01:00
Alexander Neumann
1046eabf95
rest: Remove unneeded tempdir
2018-01-20 10:13:04 +01:00
Alexander Neumann
663e8284b2
init: Correct text (backend vs. repository)
...
Closes #1565
2018-01-20 09:51:49 +01:00
Alexander Neumann
5a43ca1ccb
Add entry to CHANGELOG
2018-01-20 09:50:31 +01:00
Alexander Neumann
200415e0a1
Merge pull request #1564 from restic/sftp-password-prompt
...
sftp: Prompt for password, don't terminate on SIGINT
2018-01-20 09:48:17 +01:00
Alexander Neumann
ea50687e8b
Merge pull request #1568 from martinseener/patch-1
...
Added hint where to place restic.exe on windows
2018-01-20 09:47:50 +01:00
Alexander Neumann
7335a2492f
Add PR to changelog
2018-01-19 13:05:55 +01:00
Alexander Neumann
bcb6881ffb
Merge pull request #1548 from ifedorenko/checker-backend-Test
...
checker: Optimize checker.Packs()
2018-01-19 13:05:35 +01:00
Alexander Neumann
37df829b3d
CONTRIBUTING: clarify wording
2018-01-19 13:00:49 +01:00
Martin
39f1ba1897
Added hint where to place restic.exe on windows
...
I've added a hint for pre-compiled binaries on windows where to place them for easier use in the shell or in scripts without the hassle for absolute paths.
2018-01-19 12:24:09 +01:00
Igor Fedorenko
231076fa4a
checker: Optimize checker.Packs()
...
Use result of single repository.List() to find both missing and
orphaned data packs. For 500GB repository this eliminates ~100K
repository.Test() calls and improves check time by >30M in my
environment (~45min before this change and ~7min after).
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-18 20:50:39 -05:00
Alexander Neumann
0bdb131521
Remove SuspendSignalHandler
2018-01-17 23:14:47 +01:00
Alexander Neumann
c31a5e7e5c
Add argument to Skipf()
2018-01-17 23:14:37 +01:00
Alexander Neumann
05958caf6e
sftp: Prompt for password, don't terminate on SIGINT
...
This is a follow-up on fb9729fdb9 , which
runs the `ssh` in its own process group and selects that process group
as the foreground group. After the sftp connection is established,
restic switches back to the previous foreground process group.
This allows `ssh` to prompt for the password, but it won't receive
the interrupt signal (SIGINT, ^C) later on, because it is not in the
foreground process group any more, allowing a clean tear down.
2018-01-17 23:02:47 +01:00
Alexander Neumann
87e31799f2
Merge pull request #1483 from dstosberg/master
...
document how to create a full backup without running restic as root
2018-01-16 17:21:55 +01:00
Alexander Neumann
35528506a6
Merge pull request #1554 from restic/fix-988
...
fuse: Correct behavior for reading after EOF, add snapshot template string
2018-01-16 17:17:55 +01:00
Alexander Neumann
2544978aaf
Add entry to changelog
2018-01-15 14:47:17 +01:00
Alexander Neumann
97565d68a2
fuse/mount: Add option for snapshot template
2018-01-15 14:47:17 +01:00
Alexander Neumann
f49f5c5903
fuse: Don't return an error for EOF
2018-01-13 10:14:10 +01:00
Alexander Neumann
d89f2e5226
fuse: Remove debug log message
2018-01-13 10:10:07 +01:00
Alexander Neumann
02f4f5dc66
Update build.go, correct version detection
2018-01-12 22:06:42 +01:00
Alexander Neumann
5723636b35
Add entry for changelog
2018-01-09 21:57:07 +01:00
Alexander Neumann
5632ca4f44
Merge pull request #1538 from MJDSys/make_lookup_internal
...
repository/index: Avoid creating an error when checking if an id is in the index.
2018-01-09 21:55:37 +01:00
Matthew Dawson
539599d1f1
repository/index: Optimize index.Has()
...
When backing up several million files (>14M tested here) with few changes,
a large amount of time is spent failing to find an id in an index and creating
an error to signify this. Since this is checked using the Has method,
which doesn't use this error, this time creating the error is wasted.
Instead, directly check if the given id and type are present in the index.
This also avoids reporting all the packs containing this blob, further
reducing cpu usage.
2018-01-08 21:46:17 +01:00
Alexander Neumann
d77a326bb0
Add benchmark for Index.Has()
2018-01-08 21:10:30 +01:00
Dennis Stosberg
60a7a9d019
manual: document how to create a full backup without running restic as root
2018-01-08 19:59:15 +01:00
Alexander Neumann
99f0fce673
Merge pull request #1536 from restic/fix-restorer-permissions
...
restore: Fix directory permissions
2018-01-07 17:18:29 +01:00
Alexander Neumann
b708cfee3f
Add entry to changelog
2018-01-07 15:16:16 +01:00
Alexander Neumann
b8620429e2
restorer: Set directory mode as last step
...
Closes #1512
2018-01-07 15:13:24 +01:00
Alexander Neumann
aab414b368
Add test case for #1512
2018-01-07 14:50:47 +01:00
Alexander Neumann
e120b17abd
Update PR template
2018-01-07 11:53:30 +01:00
Alexander Neumann
5f43e17918
Merge pull request #1535 from ifedorenko/check-retry
...
fixed restic-check does not retry backend.Test failures
2018-01-07 09:43:49 +01:00
Alexander Neumann
489eef5a6f
Merge pull request #1534 from restic/improve-error-restore
...
restore: Improve error message for more than one ID
2018-01-07 09:40:06 +01:00
Igor Fedorenko
8c550ca011
fixed restic-check does not retry backend.Test failures
...
added missing RetryBackend.Test implementation
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com >
2018-01-06 23:22:35 -05:00
Alexander Neumann
032621289b
errors: Add "Fatal" prefix for Fatalf()
2018-01-06 23:27:47 +01:00
Alexander Neumann
92316a9853
restore: Improve error message for more than one ID
2018-01-06 22:44:18 +01:00
Alexander Neumann
180741609e
Merge pull request #1530 from juliangehring/patch-1
...
Fix code block formatting in FAQs
2018-01-06 18:46:14 +01:00
Julian Gehring
70250762f3
Fix code block formatting in FAQs
...
Fixes the formatting of a code block in the FAQs and makes it render properly.
2018-01-05 23:02:03 +00:00
Alexander Neumann
39ba17a2d6
Add entry to CHANGELOG
2018-01-05 19:29:02 +01:00
Alexander Neumann
cfe8c8c9cd
Merge pull request #1529 from restic/fix-1528
...
Fix creating missing dirs in local/sftp repo
2018-01-05 19:28:17 +01:00
Alexander Neumann
b45fc89512
local/sftp: Create repo dirs on demand in Save()
2018-01-05 17:51:09 +01:00
Alexander Neumann
aabc0ccaa7
fs: Make HasPathPrefix work with relative paths
2018-01-05 17:38:52 +01:00
Alexander Neumann
2bc4d200d4
Merge pull request #1518 from restic/fix-1317-again
...
forget: Also run prune when only IDs are forgotten
2018-01-02 20:39:12 +01:00
Alexander Neumann
0247fe01c0
Update homepage URL in README
2018-01-01 21:50:44 +01:00
Alexander Neumann
c912b38bf0
forget: Also run prune when only IDs are forgotten
2018-01-01 21:27:40 +01:00
Alexander Neumann
559946c58a
Add linebreak to VERSION generation
2017-12-30 09:55:56 +01:00
Alexander Neumann
a99637c613
Merge pull request #1511 from restic/improve-http-limiting
...
Improve limiting HTTP based backends
2017-12-29 20:57:02 +01:00
Alexander Neumann
36501dda73
Add changelog issue
2017-12-29 12:51:43 +01:00
Alexander Neumann
18ecd9df30
Improve limiting HTTP based backends
2017-12-29 12:43:49 +01:00
Alexander Neumann
c686dd0448
Merge pull request #1507 from restic/fix-fuse-list-timeout
...
fuse: Only reload list of snapshots once per minute
2017-12-28 14:06:59 +01:00
Alexander Neumann
6d91d468e7
Add entry to releases
2017-12-28 13:20:19 +01:00
Alexander Neumann
5f9b5b0219
Add entry to changelog
2017-12-28 13:20:03 +01:00
Alexander Neumann
3f7d85360a
fuse: Only reload list of snapshots once per minute
2017-12-28 13:18:27 +01:00
Alexander Neumann
8d8456590c
Update release script, add check for changelog/releases
2017-12-27 23:32:11 +01:00
Alexander Neumann
85f9f3e290
Fix changelog template for GitHub
2017-12-27 23:26:19 +01:00
Alexander Neumann
9e1180a29b
Fix changelog IDs
2017-12-27 23:22:35 +01:00
Alexander Neumann
e17c1096a0
Add date for 0.8.1
2017-12-27 22:42:15 +01:00
Alexander Neumann
546d6f36b2
Add VERSION for 0.8.1
2017-12-27 22:31:03 +01:00
Alexander Neumann
6ecd14d780
Update manpages and auto-completion
2017-12-27 22:31:03 +01:00
Alexander Neumann
f6ed7dc013
Generate CHANGELOG.md for 0.8.1
2017-12-27 22:30:57 +01:00
Alexander Neumann
e290f2591e
Merge pull request #1504 from restic/changelog-generator
...
Replace manual CHANGELOG with generated one
2017-12-27 22:00:15 +01:00
Alexander Neumann
75f90ca303
Run calens on Travis
2017-12-27 21:21:21 +01:00
Alexander Neumann
ca1430184f
Replace CHANGELOG.md with generated version
2017-12-27 21:07:26 +01:00
Alexander Neumann
a297ab9d7c
Add PrimaryURL to github template
2017-12-27 19:30:04 +01:00
Alexander Neumann
f078525d98
Add changelog entries
2017-12-27 19:22:06 +01:00
Alexander Neumann
e03cc81a9a
Add changelog generation to release script
2017-12-27 19:21:55 +01:00
Alexander Neumann
af27f1dde5
Merge pull request #1503 from gliptak/patch-2
...
Correct golint warning on return
2017-12-27 12:52:31 +01:00
Gábor Lipták
32505c3916
Correct golint warning on return
2017-12-26 17:09:41 -05:00
Alexander Neumann
9a8d5a1bff
Merge pull request #1499 from ametzler/improve-docs-exclude-396
...
doc: Improvements for --exclude
2017-12-24 21:10:28 +01:00
Alexander Neumann
740ee787c1
Merge pull request #1501 from gliptak/patch-1
...
Correct typos
2017-12-24 21:10:08 +01:00
Gábor Lipták
2eba0bfeec
Correct typos
2017-12-24 12:06:52 -05:00
Andreas Metzler
d780ec4bce
doc: Improvements for --exclude
...
Describe exclude pattern handling, adding multiple examples.
Closes #396
2017-12-24 15:39:18 +01:00
Alexander Neumann
6b564d21b3
Merge pull request #1493 from restic/retry-delete
...
backend: Retry deletes
2017-12-23 11:53:09 +01:00
Alexander Neumann
6c2b2a58ad
backend: Retry deletes
2017-12-22 22:41:28 +01:00
Alexander Neumann
b80b68dcb3
doc: Correct setence
2017-12-22 17:59:52 +01:00
Alexander Neumann
29c92ca415
Merge pull request #1491 from restic/improve-b2-config
...
b2: Warn when account ID or key is empty
2017-12-20 18:06:58 +01:00
Alexander Neumann
bc04ce8e6b
Merge pull request #1482 from restic/fix-1478
...
backend: Only return top-level files for most dirs
2017-12-20 18:06:47 +01:00
Alexander Neumann
6b6b75fa4a
Merge pull request #1488 from da2x/patch-1
...
Doc: Specify `key passwd` usage
2017-12-19 21:19:38 +01:00
Alexander Neumann
84e493beba
b2: Warn when account ID or key is empty
...
Closes #1490
2017-12-19 21:12:38 +01:00
Daniel Aleksandersen
323376efa2
Doc: Specify key passwd usage
...
Specify that `key passwd` is used to change a password.
2017-12-19 04:53:31 +01:00
Alexander Neumann
e353b00501
Merge pull request #1481 from restic/add-stdin-path
...
backup: Reject directories in filename for --stdin
2017-12-14 19:36:11 +01:00
Alexander Neumann
2510d770ab
Add question about positive things to issue template
2017-12-14 19:22:23 +01:00
Alexander Neumann
7d8765a937
backend: Only return top-level files for most dirs
...
Fixes #1478
2017-12-14 19:14:16 +01:00
Alexander Neumann
81a04656c5
fuse: Cleanup node name
2017-12-13 20:21:18 +01:00
Alexander Neumann
2f26fb8834
Only print cache warning for terminals
2017-12-13 19:58:10 +01:00
Alexander Neumann
d3ebe1311f
backup: Reject filenames with paths read from stdin
2017-12-13 19:55:53 +01:00
Alexander Neumann
42a8c19aae
Merge pull request #1476 from harshavardhana/fix
...
Since upgrade to minio-go 4.0 remove workaround
2017-12-09 11:45:29 +01:00
Harshavardhana
27ccea6371
Since upgrade to minio-go 4.0 remove workaround
...
We added previously a code to fix the issue of chaining
credentials, we do not need this anymore since the
upstream minio-go already has this relevant change.
2017-12-09 02:01:42 -08:00
Alexander Neumann
4f46b4f393
Merge pull request #1475 from restic/update-minio-go
...
Update to minio-go v4
2017-12-09 10:12:05 +01:00
Alexander Neumann
221e741537
Fix broken link in README
2017-12-09 10:04:39 +01:00
Alexander Neumann
8b3b7bc5ef
s3: Use context
2017-12-08 22:04:55 +01:00
Alexander Neumann
934ae1b559
Update to minio-go 4
2017-12-08 21:52:50 +01:00
Alexander Neumann
0e7e3cb714
Update minio-go
2017-12-08 20:45:59 +01:00
Alexander Neumann
95b6e4e9e9
Add entry to CHANGELOG
2017-12-08 20:29:50 +01:00
Alexander Neumann
3a5e040b7e
Merge pull request #1439 from armhold/propagate-context
...
replace ad-hoc context.TODO() with gopts.ctx
2017-12-08 20:27:36 +01:00
Alexander Neumann
28c826868b
Merge pull request #1471 from restic/fix-diff
...
Fix diff
2017-12-06 19:47:17 +01:00
George Armhold
1695c8ed55
use global context for check, debug, dump, find, forget, init, key,
...
list, mount, tag, unlock commands
gh-1434
2017-12-06 07:02:55 -05:00
George Armhold
366622f09a
use global context for cat and ls
...
gh-1434
2017-12-06 05:48:39 -05:00
George Armhold
0dc31c03e1
remove check for context.Canceled
...
gh-1434
2017-12-06 05:38:29 -05:00
Alexander Neumann
0405e67f8b
Change diff output slightly
2017-12-05 22:26:56 +01:00
Alexander Neumann
df350e1f6e
Improve diff
2017-12-05 22:05:22 +01:00
Alexander Neumann
06cb3f7058
Merge pull request #1469 from zertrin/patch-1
...
Update usage help output in doc/manual_rest.rst
2017-12-04 21:36:16 +01:00
Alexander Neumann
56b884be17
Merge pull request #1468 from restic/update-deps
...
Update dependencies
2017-12-04 21:34:52 +01:00
Alexander Neumann
a25d280f3e
Merge pull request #1462 from restic/add-diff
...
Add diff command
2017-12-04 21:34:44 +01:00
zertrin
2253a73837
Update usage help output in doc/manual_rest.rst
...
The usage help in the documentation was outdated relative to current version (0.8.0) with some commands outdated and some missing.
2017-12-04 22:57:00 +08:00
Alexander Neumann
946c8399e2
Update dependenciess
...
Exclude minio-go for now (pin to 3.x.y).
2017-12-03 21:22:33 +01:00
Alexander Neumann
9d0f13c4c0
Prominently mention SIGPIPE issue in CHANGELOG
2017-12-03 19:12:07 +01:00
Alexander Neumann
eb9e2bc79a
manual: Document diff command
2017-12-03 18:33:35 +01:00
Alexander Neumann
0722c44ba1
Add entry to CHANGELOG
2017-12-03 18:33:35 +01:00
Alexander Neumann
2424012d75
Add 'diff' command
2017-12-03 18:33:35 +01:00
Alexander Neumann
82ded35706
node: Correctly compare times
2017-12-03 18:33:35 +01:00
Alexander Neumann
69fcb604c8
Merge pull request #1465 from restic/fuse-handle-others
...
fuse: Handle/format all node types correctly
2017-12-03 18:25:49 +01:00
Alexander Neumann
88607fc625
Correctly format all node types
2017-12-03 17:38:55 +01:00
Alexander Neumann
7092af6329
fuse: Handle sockets/fifos/devs correctly
...
Closes #1463
2017-12-03 17:25:00 +01:00
Alexander Neumann
23d7d91597
Merge pull request #1464 from restic/reenable-cache
...
Reenable cache
2017-12-03 16:15:13 +01:00
Alexander Neumann
ad82781743
Reenable cache
...
In 6341c7d72c , the cache was accidentally
disabled due to a bug, this commit reenables the cache.
2017-12-03 15:52:57 +01:00
George Armhold
20d78ab0d9
add context to repo.Flush() call in test code
...
gh-1434
2017-12-03 07:32:50 -05:00
George Armhold
be24237063
make retry code context-aware.
...
detect cancellation in backend, so that retry code does not keep trying
once user has hit ^c
gh-1434
2017-12-03 07:22:14 -05:00
George Armhold
d886cb5c27
replace ad-hoc context.TODO() with gopts.ctx, so that cancellation
...
can properly trickle down from cmd_*.
gh-1434
2017-12-03 07:22:14 -05:00
Alexander Neumann
63bb1933e5
Merge pull request #1461 from ljani/patch-1
...
Fix a typo
2017-12-03 09:51:08 +01:00
Jani
81e6a9d0d0
Fix a typo
2017-12-03 10:33:46 +02:00
Alexander Neumann
5d4110d2a7
Add entry to CHANGELOG
2017-12-01 21:52:07 +01:00
Alexander Neumann
0cedb3ac9f
Merge pull request #1459 from restic/improve-s3-do-spaces
...
Improve s3 backend for DigitalOcean Spaces
2017-12-01 21:51:30 +01:00
Alexander Neumann
0b44c629f2
retry: Remove file after failed save
2017-11-30 22:05:14 +01:00
Alexander Neumann
2579fe6b7b
Ignore SIGPIPE
...
Handling SIGPIPE made restic abort when a TCP connection was reset by a
server. This happened on DigitalOcean Spaces, which uses the s3 backend.
2017-11-30 21:23:43 +01:00
Alexander Neumann
812ce4bfc4
Add entry to CHANGELOG
2017-11-29 18:44:03 +01:00
Alexander Neumann
410efe0694
Merge pull request #1454 from restic/fix-cache-dir
...
Fix cache dir detection
2017-11-29 18:43:07 +01:00
Alexander Neumann
b2d944d5cb
Merge pull request #1452 from restic/add-with-atime
...
backup: Do not save access time by default
2017-11-29 18:42:45 +01:00
Alexander Neumann
b846c3915c
Add entry to CHANGELOG
2017-11-28 21:41:38 +01:00
Alexander Neumann
ffbc68aa2e
Document access time handling
2017-11-28 21:36:20 +01:00
Alexander Neumann
eddb8549ef
backup: By default, do not save the access time
...
This can be re-enabled with `--with-atime`.
2017-11-28 21:31:35 +01:00
Alexander Neumann
bb44855078
Add pull request template
2017-11-28 19:40:27 +01:00
Alexander Neumann
2567026ccb
Merge pull request #1447 from fawick/fixMultipleRejectIfPresent
...
Fix multiple rejectIfPresent cancelling each other
2017-11-28 19:20:29 +01:00
Alexander Neumann
0cc8fc6f18
Merge pull request #1431 from n0npax/master
...
fix #1411
2017-11-27 21:54:06 +01:00
Alexander Neumann
cc81b916a6
Add entry to CHANGELOG
2017-11-27 21:40:13 +01:00
Fabian Wickborn
27fadd2c6e
Document approach for multiple reject-if-present test
2017-11-27 21:38:15 +01:00
Alexander Neumann
dc38265b54
Merge pull request #1436 from restic/remove-old-cache
...
Remove old cache directories
2017-11-27 21:37:05 +01:00
Fabian Wickborn
1ea518d5ef
cmd/restic: Use a dedicated cache for each rejectIfPresent
2017-11-27 17:33:53 +01:00
Fabian Wickborn
901cd5edef
cmd/restic: Add test for rejectIfPresent bug
...
All RejectFuncs returned by rejectIfPresent share the same rejection
cache and hence might cancel each other out.
2017-11-27 17:26:19 +01:00
Alexander Neumann
e1fd47765b
Fix scripts/release.go
2017-11-26 19:59:21 +01:00
Alexander Neumann
c02923fbfc
Add VERSION for 0.8.0
2017-11-26 19:46:16 +01:00
Alexander Neumann
7c5ce83044
Update manpages and auto-completion
2017-11-26 19:46:16 +01:00
Alexander Neumann
37e2e9a844
Add version to CHANGELOG
2017-11-26 19:46:01 +01:00
Alexander Neumann
26e5db1849
Merge pull request #1446 from restic/fix-relative-restore
...
restore: Fix restore to relative path
2017-11-26 19:03:34 +01:00
Alexander Neumann
a2766ffe0c
CI: return directly after an error occurred
2017-11-26 18:50:40 +01:00
Alexander Neumann
0f5e38609f
restore: Fix restore to relative path
2017-11-26 18:36:48 +01:00
Alexander Neumann
f178cbf93d
Merge pull request #1445 from restic/clean-node-name
...
restorer: Clean node names
2017-11-26 17:34:05 +01:00
Alexander Neumann
c8096ca8d2
Add entry to CHANGELOG
2017-11-26 15:31:09 +01:00
Alexander Neumann
27d29b9853
restorer: Make sure node names are clean
2017-11-26 15:28:45 +01:00
Alexander Neumann
8a171731ba
restorer: Add tests for invalid node names
2017-11-26 15:28:37 +01:00
Alexander Neumann
abde9e2fba
doc: Add --cacert to REST section
2017-11-26 10:09:54 +01:00
Alexander Neumann
6a4a328bbc
Merge pull request #1443 from restic/fix-init-rest-cacert
...
rest: Use client for creating the repository
2017-11-25 22:12:18 +01:00
Alexander Neumann
8253fadc96
doc: Fix typo
2017-11-25 22:11:47 +01:00
Alexander Neumann
134abbd82b
rest: Use client for creating the repository
...
Before, creating a new repo via REST would use the defaut HTTP client,
which is not a problem unless the server uses HTTPS and a TLS
certificate which isn't signed by a CA in the system's CA store. In this
case, all commands work except the 'init' command, which fails with a
message like "invalid certificate".
2017-11-25 20:56:40 +01:00
Alexander Neumann
fe557b022a
Add entry to CHANGELOG
2017-11-25 12:12:08 +01:00
Alexander Neumann
cd8226130a
Improve issue template
2017-11-25 11:43:44 +01:00
Alexander Neumann
1ebf0e8de8
Merge pull request #1437 from restic/fix-1292
...
s3: Document and remove default prefix
2017-11-25 11:34:26 +01:00
Alexander Neumann
37ea764000
cache: Add more documentation
2017-11-25 11:28:59 +01:00
Alexander Neumann
0fdb9a6129
Merge pull request #1426 from pmkane/master
...
fix the signal name for progress reports in the docs
2017-11-24 21:58:11 +01:00
Alexander Neumann
47b326b7b5
Merge pull request #1423 from harshavardhana/creds
...
Fix chaining of credentials for minio-go
2017-11-24 21:57:52 +01:00
Alexander Neumann
e2cf6eb434
Merge pull request #1428 from stephengroat/patch-1
...
use default brew formula
2017-11-24 21:38:04 +01:00
Alexander Neumann
f79698dcdd
Merge pull request #1410 from armhold/deadlock2
...
unify behavior for max http connections across backends
2017-11-24 21:32:56 +01:00
Alexander Neumann
35a5307db3
Merge pull request #1415 from armhold/signals
...
also handle SIGPIPE in cleanup routines
2017-11-24 21:28:08 +01:00
Alexander Neumann
6341c7d72c
cache: Add option to remove old cache dirs
2017-11-24 20:53:28 +01:00
Alexander Neumann
f4bab789b8
cache: Simplify cache dir creation
2017-11-24 20:53:26 +01:00
Alexander Neumann
fa893ee477
cache: Add detection code for old cache dirs
2017-11-24 20:53:26 +01:00
Alexander Neumann
014cec06f1
Add entry to CHANGELOG
2017-11-21 21:33:09 +01:00
Alexander Neumann
431ab5aa6a
manual: Add hint about old default prefix
2017-11-21 21:33:09 +01:00
Alexander Neumann
262b0cd9d4
s3: Remove default prefix "/restic"
2017-11-21 21:33:09 +01:00
Alexander Neumann
e83ec17e95
s3: Correct comment
2017-11-20 22:21:39 +01:00
Alexander Neumann
ea593fca1b
cache: Correctly return dir for Windows/darwin
2017-11-20 06:11:18 +01:00
Alexander Neumann
fe1f151ae1
cache: Return error during default dir detection
2017-11-20 06:10:42 +01:00
n0npax
b12bba4e2a
fix #1411
...
replace panic during index save with fatal error
2017-11-19 11:40:47 +01:00
Stephen
e2005e02bb
use default brew formula
2017-11-18 08:02:41 -08:00
Harshavardhana
41c8c946ba
Fix chaining of credentials for minio-go
...
chaining failed because chaining provider
was only looking for subsequent credentials
provider after an error. Writer a new
chaining provider which proceeds to fetch
new credentials also under situations where
providers do not return but instead return
no keys at all.
Fixes https://github.com/restic/restic/issues/1422
2017-11-18 02:51:12 -08:00
Patrick Kane
fe08686558
fix the signal name for progress reports in the docs
2017-11-16 19:17:25 -08:00
George Armhold
0ed2401711
exit 1 if received signal is other than SIGINT
...
send cleanup msg to stderr, not stdout
gh-1413
2017-11-09 07:16:01 -05:00
Alexander Neumann
06bd606d85
Merge pull request #1414 from bket/1307
...
Fix test failing on OpenBSD #1307
2017-11-08 18:54:44 +01:00
George Armhold
c347431907
also handle SIGPIPE in cleanup routines
...
fixes gh-1413: restic fails to cleanup locks when bash pipeline fails
2017-11-05 07:14:27 -05:00
Björn Ketelaars
f63d7048f9
Fix test failing on OpenBSD #1307
...
Is seems that #1307 is similar to #1087 , which describes a comparable
observation on Apple's new filesystem. #1389 Has been committed and
fixes the problem on Darwin.
Although I'm not sure if the root cause of the issue is the same the
solution is similar for OpenBSD, and leverages #1389 .
2017-11-05 07:27:58 +01:00
Alexander Neumann
f39f7c76dd
Merge pull request #1406 from michaeldorner/master
...
Minor fixes on README and LICENSE
2017-11-04 09:58:21 +01:00
George Armhold
0268d0e7d6
swift backend: limit http concurrency in Save(), Stat(), Test(), Remove(),
...
List().
move comment regarding problematic List() backend api (it's s3's ListObjects
that has a problem, NOT swift's ObjectsWalk).
As per discussion in PR #1399 .
2017-11-02 18:29:32 -04:00
George Armhold
8515d093e0
swift backend: fix premature release of semaphore in Load() & document
...
concurrency issue in List().
refactor wrapReader from b2 -> semaphore so it can be used elsewhere.
As per discussion in PR #1399 .
2017-11-02 12:38:17 -04:00
Michael Dorner
fe3f326d8d
Update LICENSE
...
- improved formatting of license information (BSD 2-clase) so Github can automatically detect it.
2017-11-02 11:39:49 +01:00
Michael Dorner
8170db40c7
Update README.rst
...
- added Codecov badge
- added link to OSI for the license
2017-11-02 11:36:25 +01:00
George Armhold
99ac0da4bc
s3 backend: limit http concurrency in Save(), Stat(), Test(), Remove()
...
NB: List() is NOT currently limited, as it would cause deadlock due to
be.client.ListObjects() implementation.
as per discussion in PR #1399
2017-11-01 09:40:54 -04:00
Alexander Neumann
7e2c93420f
Merge pull request #1397 from restic/crypto-aead
...
crypto: Make crypto.Key implement cipher.AEAD
2017-11-01 13:21:10 +01:00
Alexander Neumann
6d46824fb0
Pass in a nil buffer to Open()
2017-11-01 10:30:40 +01:00
Alexander Neumann
bb435b39d9
crypto: Rework Seal/Open to use sliceForAppend
2017-11-01 10:30:40 +01:00
Alexander Neumann
2a67d7a6c2
crypto: Correct test function names
2017-11-01 10:30:40 +01:00
Alexander Neumann
ba43c8bab5
crypto: Fix nonce test, make it faster
2017-11-01 10:30:40 +01:00
Alexander Neumann
931e6ed2ac
Use Seal/Open everywhere
2017-11-01 10:30:40 +01:00
Alexander Neumann
a5f0e9ab65
Remove custom Encrypt/Decrypt methods
2017-11-01 10:30:40 +01:00
Alexander Neumann
6fc133ad6a
Run tests on Seal/Open
2017-11-01 10:30:40 +01:00
Alexander Neumann
e1b80859f2
Make crypto.Key implement cipher.AEAD
2017-11-01 10:30:39 +01:00
George Armhold
d069ee31b2
GS backend: limit http concurrency in Save(), Stat(), Test(), Remove(), List()
...
as per discussion in PR #1399
2017-10-31 08:01:43 -04:00
George Armhold
981752ade0
Azure backend: limit http concurrency in Stat(), Test(), Remove()
...
as per discussion in PR #1399
2017-10-31 07:32:30 -04:00
Alexander Neumann
d01d07fc0a
Merge pull request #1400 from armhold/deadlock2
...
log unexpected errs from b2 ListCurrentObject()
2017-10-30 18:39:33 +01:00
Alexander Neumann
526aaca6f5
Merge pull request #1389 from wojas/fix-modtime-tests-on-apfs
...
Fix modtime tests on APFS: allow 1us difference
2017-10-29 14:20:40 +01:00
George Armhold
2f8147af59
log unexpected errs from b2 ListCurrentObject()
...
gh-1385
2017-10-29 08:53:39 -04:00
Konrad Wojas
f3016a9096
Darwin test fix: allow 1μs timestamp difference
...
On Darwin, allow a 1μs difference in restored timestamps, because
macOS <10.13 cannot restore with nanosecond precision and the current
version of Go (1.9.2) does not yet support the new syscall required
for this. (#1087 #1389 )
2017-10-29 20:48:07 +08:00
Alexander Neumann
f854a41ba9
Merge pull request #1399 from armhold/deadlock2
...
prevent deadlock in List() for B2 when b2.connections=1
2017-10-29 09:26:46 +01:00
Alexander Neumann
ca3cadef5e
Merge pull request #1398 from armhold/sftp-readdir
...
sftp ReadDir: add path to return error messages (gh-1323)
2017-10-29 09:26:42 +01:00
George Armhold
3304b0fcf0
prevent deadlock in List() for B2 when b2.connections=1
...
This is a fix for the following situation (gh-1188):
List() grabs a semaphore token upon entry, starts a goroutine, and
does not release the token until the routine exits (via a defer).
The goroutine iterates over the results from ListCurrentObjects(),
sending them one at a time to a channel, where they are ultimately
processed by be.Load().
Since be.Load() also needs a token, this will result in deadlock if
b2.connections=1.
This fix changes List() so that the token is only held during the call
to ListCurrentObjects().
2017-10-28 18:46:47 -04:00
George Armhold
d8938e259a
sftp ReadDir: add path to return error messages (gh-1323)
...
fix missing "Close" string in debug log fmt
2017-10-28 14:16:27 -04:00
Alexander Neumann
53a554c89d
Merge pull request #1395 from restic/small-crypto-improvements
...
Small improvements
2017-10-28 12:57:18 +02:00
Alexander Neumann
e71db01230
Improve crypto test
2017-10-28 12:09:33 +02:00
Alexander Neumann
178e946fc7
Rename KDFParams -> Params
2017-10-28 10:28:29 +02:00
Alexander Neumann
f3bff12939
Merge pull request #1394 from zcalusic/master
...
Use lowercase in messages from check/tag commands, too
2017-10-28 09:56:29 +02:00
Alexander Neumann
7a99418dc5
Merge pull request #1393 from armhold/lint-errcheck
...
detect errors from fs.Walk() in local backend List()
2017-10-28 09:56:11 +02:00
Alexander Neumann
c71ba466ea
Merge pull request #1391 from armhold/b2-listmax
...
pass in defaultListMaxItems to b2Backend constructor
2017-10-28 09:54:57 +02:00
Alexander Neumann
8ce5d35543
Merge pull request #1390 from armhold/lint
...
small cleanup
2017-10-28 09:54:35 +02:00
Zlatko Čalušić
134f834c60
Use lowercase in messages from check/tag commands, too
2017-10-27 21:06:34 +02:00
George Armhold
8a37c07295
send errors from fs.Walk() to debug log
...
clarify non-err returns from Walk where err is already proved to be nil
2017-10-27 08:41:17 -04:00
George Armhold
bd0ada7842
go fmt
2017-10-26 16:37:11 -04:00
George Armhold
eea96f652d
go fmt
2017-10-26 16:22:10 -04:00
George Armhold
38c3061df7
pass in defaultListMaxItems to b2Backend constructor
...
gh-1385
2017-10-26 14:22:16 -04:00
George Armhold
f5fa602482
detect and return error from file Close() in Node.createFileAt()
...
gh-1385
2017-10-26 13:53:31 -04:00
Alexander Neumann
e44ac55f63
Merge pull request #1387 from wojas/snapshots-filter-last
...
Add --last flag to snapshots command
2017-10-26 19:08:49 +02:00
Alexander Neumann
f1cfb73a8b
Merge pull request #1384 from wojas/reduce-ticker-refresh
...
Reduce ticker refresh rate with RESTIC_PROGRESS_FPS env
2017-10-26 19:02:59 +02:00
Konrad Wojas
5b96885c6d
Control progress rate with RESTIC_PROGRESS_FPS env
...
Add a RESTIC_PROGRESS_FPS environment variable to limit the interval
at which the progress indicator updates (allowed values: 1-60).
The default rate of 60 FPS can cause high terminal CPU load on some
systems, like iTerm2 on macOS with font anti-aliasing enabled.
Usage:
RESTIC_PROGRESS_FPS=1 restic ...
RESTIC_PROGRESS_FPS=60 restic ...
2017-10-26 14:46:56 +08:00
Konrad Wojas
c5da90a5b7
Add --last flag to snapshots command
...
Add --last flag to snapshots command to only show the last entry for any
(hostname, paths) combination.
This makes it easier to check when various paths were last backed up.
2017-10-26 14:02:29 +08:00
George Armhold
bcdebfb84e
small cleanup:
...
- be explicit when discarding returned errors from .Close(), etc.
- remove named return values from funcs when naked return not used
- fix some "err" shadowing when redeclaration not needed
2017-10-25 12:03:55 -04:00
Alexander Neumann
359b273649
Merge pull request #1381 from tbm/broken-link
...
Remove Markdown syntax from documentation
2017-10-24 20:38:40 +02:00
Martin Michlmayr
2e2c8dc620
Remove Markdown syntax from documentation
...
Convert a link from Markdown to RST syntax. This link must
have been missed during the recent conversion.
2017-10-24 14:40:33 +01:00
Alexander Neumann
8d37b723ca
Upadte vendored dependencies
2017-10-22 10:07:36 +02:00
Alexander Neumann
315b7f282f
Remove explicit version constraints
2017-10-22 10:07:23 +02:00
Alexander Neumann
a3f8e9dfa7
Add entry to CHANGELOG
2017-10-21 12:22:50 +02:00
Alexander Neumann
982810f7cc
Merge pull request #1368 from TobyLL/master
...
Ignore comments (lines starting with #) in the --files-from file
2017-10-21 12:21:11 +02:00
Alexander Neumann
90b96d19cd
Merge pull request #1365 from felix9/fix_1068
...
Fix failure to detect some legacy s3 repos
2017-10-21 12:19:58 +02:00
Alexander Neumann
6a52bb6f54
Merge pull request #1374 from restic/update-blazer
...
Update github.com/kurin/blazer
2017-10-21 11:26:49 +02:00
Alexander Neumann
cacaa4393f
Merge pull request #1373 from restic/check-gopkg-lock
...
CI: Check the vendor dir and Gopkg.lock
2017-10-21 11:14:30 +02:00
Alexander Neumann
d63ab4e9a4
Merge pull request #1358 from prattmic/chunk_size
...
gs: add option to set chunk size
2017-10-21 11:13:48 +02:00
Alexander Neumann
ca6daec8dd
CI: Check the vendor dir and Gopkg.lock
2017-10-21 10:50:38 +02:00
Alexander Neumann
c87f2420a6
Update github.com/kurin/blazer
2017-10-21 10:30:39 +02:00
Alexander Neumann
f5bbbc52f4
Update issue template
2017-10-21 10:17:58 +02:00
TobyLL
9e3dde8ec7
Fix whitespace
2017-10-19 15:52:06 +01:00
TobyLL
9dba182e51
Ignore comments (lines starting with #) in the --files-from file
2017-10-19 15:48:22 +01:00
Felix Lee
944fc857eb
Fix failure to detect some legacy s3 repos
...
Sometimes s3 listobjects for a directory includes an entry for that
directory. The restic s3 backend doesn't expect that and returns
an error.
Symptom is:
ReadDir: invalid key name restic/key/, removing prefix
restic/key/ yielded empty string
I'm not sure when s3 does that; I'm unable to reproduce it myself.
But in any case, it seems correct to ignore that when it happens.
Fixes #1068
2017-10-18 13:45:31 -07:00
Alexander Neumann
7507a658ac
Merge pull request #1362 from restic/fix-backend-retry
...
Fix Save() backend retry
2017-10-18 07:45:56 +02:00
Michael Pratt
9fa4f5eb6b
gs: disable resumable uploads
...
By default, the GCS Go packages have an internal "chunk size" of 8MB,
used for blob uploads.
Media().Do() will buffer a full 8MB from the io.Reader (or less if EOF
is reached) then write that full 8MB to the network all at once.
This behavior does not play nicely with --limit-upload, which only
limits the Reader passed to Media. While the long-term average upload
rate will be correctly limited, the actual network bandwidth will be
very spikey.
e.g., if an 8MB/s connection is limited to 1MB/s, Media().Do() will
spend 8s reading from the rate-limited reader (performing no network
requests), then 1s writing to the network at 8MB/s.
This is bad for network connections hurt by full-speed uploads,
particularly when writing 8MB will take several seconds.
Disable resumable uploads entirely by setting the chunk size to zero.
This causes the io.Reader to be passed further down the request stack,
where there is less (but still some) buffering.
My connection is around 1.5MB/s up, with nominal ~15ms ping times to
8.8.8.8.
Without this change, --limit-upload 1024 results in several seconds of
~200ms ping times (uploading), followed by several seconds of ~15ms ping
times (reading from rate-limited reader). A bandwidth monitor reports
this as several seconds of ~1.5MB/s followed by several seconds of
0.0MB/s.
With this change, --limit-upload 1024 results in ~20ms ping times and
the bandwidth monitor reports a constant ~1MB/s.
I've elected to make this change unconditional of --limit-upload because
the resumable uploads shouldn't be providing much benefit anyways, as
restic already uploads mostly small blobs and already has a retry
mechanism.
--limit-download is not affected by this problem, as Get().Download()
returns the real http.Response.Body without any internal buffering.
Updates #1216
2017-10-17 21:12:04 -07:00
Alexander Neumann
ce4d71d626
backend: Add partial read failure to error backend
2017-10-17 22:11:38 +02:00
Alexander Neumann
8e2ef3f38b
cache: Store first, then store in the backend
...
Store the file in the backend, then rewind the reader and store it
in the cache afterwards.
2017-10-17 22:01:20 +02:00
Alexander Neumann
8dc952775e
backend: Correctly retry Save() calls
...
Make sure the given reader is an io.Seeker and rewind it properly each
time.
2017-10-17 21:46:38 +02:00
Alexander Neumann
99b6163e27
Add 'dump' to manual
2017-10-16 20:24:47 +02:00
Alexander Neumann
beaf55f1fc
dump: Allow absolute paths
2017-10-16 20:22:01 +02:00
Alexander Neumann
980bb9059f
Add entry to changelog
2017-10-16 20:15:19 +02:00
Alexander Neumann
0e7281eb71
Merge pull request #1346 from fawick/cmdCatFile
...
Add dump sub-command for dumping files to stdout
2017-10-16 20:13:44 +02:00
Alexander Neumann
0b6133d7b5
Merge pull request #1360 from mungomat/fuse_bugfix
...
fuse: bugfix: ignore empty tags
2017-10-16 20:07:05 +02:00
Tobias Klein
b57ca64275
fuse: bugfix: ignore empty tags
2017-10-16 16:22:08 +02:00
Alexander Neumann
faadbd734b
Add entry to CHANGELOG
2017-10-14 20:29:47 +02:00
Alexander Neumann
88b0a93409
Merge pull request #1353 from restic/backend-retry
...
Retry failed backend requests
2017-10-14 20:28:57 +02:00
Alexander Neumann
4a995105a9
sftp: Fix Delete()
2017-10-14 16:08:15 +02:00
Alexander Neumann
7fe496f983
Ensure TestDelete runs last
2017-10-14 16:04:29 +02:00
Alexander Neumann
e56370eb5b
Remove Deleter interface
2017-10-14 16:04:29 +02:00
Alexander Neumann
b8af7f63a0
backend test: Always remove files for TestList
2017-10-14 15:56:25 +02:00
Alexander Neumann
3eea555155
Add dependency cenkalti/backoff
2017-10-14 15:56:25 +02:00
Alexander Neumann
897c923cc9
Retry failed backend requests
2017-10-14 15:56:25 +02:00
Alexander Neumann
67193e3deb
Improve error message when creating lock failed
2017-10-14 15:56:25 +02:00
Alexander Neumann
0e722efb09
backend: Add Delete() to restic.Backend interface
2017-10-14 15:56:25 +02:00
Alexander Neumann
3736f33ebf
Merge pull request #1352 from tyll/manual_links
...
Fix links to manual
2017-10-14 14:54:16 +02:00
Fabian Wickborn
d1d9c3f9d7
Renamed cmd_catfile.go to cmd_dump.go
2017-10-14 13:55:21 +02:00
Fabian Wickborn
cd5cbe0910
Rename debug dump related variable and run function
2017-10-14 13:55:00 +02:00
Fabian Wickborn
814e992c0b
Rename subcommand catfile to dump
2017-10-14 11:34:04 +02:00
Till Maas
660fe78735
Fix links to manual
2017-10-13 20:01:19 +02:00
Fabian Wickborn
87d084e18c
Add subcommand dump
2017-10-12 20:24:34 +02:00
Alexander Neumann
9ce2a73fc5
Add issue and PR to the changelog entry
2017-10-12 20:20:06 +02:00
Alexander Neumann
f2314b26ba
Move 'dump' to 'debug dump'
2017-10-12 20:18:45 +02:00
Alexander Neumann
74dcf41f25
Disable 'dump' for non-debug builds
2017-10-12 20:14:48 +02:00
Alexander Neumann
b6ba30186f
Merge pull request #1336 from rmdashrf/rate-limit-backup
...
Add basic rate limiting to backup
2017-10-12 20:08:55 +02:00
rmdashrf
32637a0328
Basic rate limiting implementation.
...
Added `--limit-upload` and `--limit-download` flags to rate limit
backups and restores.
2017-10-11 20:01:20 -07:00
Alexander Neumann
0addd90e14
Merge pull request #1345 from harshavardhana/creds
...
Refactor credentials management to support multiple mechanisms.
2017-10-11 21:01:19 +02:00
Alexander Neumann
1b5ee5b10a
Merge pull request #1343 from mungomat/fuse_speedup
...
fuse mount: speedup
2017-10-11 20:55:52 +02:00
Harshavardhana
042adeb5d0
Refactor credentials management to support multiple mechanisms.
...
This PR adds the ability of chaining the credentials provider,
such that restic as a tool attempts to honor credentials from
multiple different ways.
Currently supported mechanisms are
- static (user-provided)
- IAM profile (only valid inside configured ec2 instances)
- Standard AWS envs (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
- Standard Minio envs (MINIO_ACCESS_KEY, MINIO_SECRET_KEY)
Refer https://github.com/restic/restic/issues/1341
2017-10-09 12:51:39 -07:00
Tobias Klein
7e4ce0dacc
fuse mount: speedup
2017-10-09 10:26:56 +02:00
Alexander Neumann
8ceb22fe8a
Add entry to CHANGELOG
2017-10-08 09:48:22 +02:00
Alexander Neumann
c5553ec855
Merge pull request #1276 from fawick/supply_ca_cert
...
Add REST backend option to use CA root certificate
2017-10-08 09:47:23 +02:00
Alexander Neumann
bb3ed54291
Merge pull request #1337 from mungomat/fuse_updateRepo
...
fuse: mount and backup in parallel (#1330 )
2017-10-08 09:45:28 +02:00
Alexander Neumann
513ba3b6f7
Merge pull request #1340 from jniggemann/fix-664
...
doc: Add info on docker container
2017-10-08 09:44:34 +02:00
Alexander Neumann
17d688afef
Merge pull request #1339 from felix9/fix_1251
...
fixes #1251 , race when writing indexes
2017-10-07 16:36:16 +02:00
Jan Niggemann
d81eee26b3
doc: Add info on docker container
...
fixes #664
2017-10-07 16:03:08 +02:00
Felix Lee
cc5ada63a4
fixes #1251 , race when writing indexes
2017-10-07 05:11:42 -07:00
Alexander Neumann
88fb60e0b5
Improve issue template
2017-10-07 12:16:46 +02:00
Tobias Klein
02200acad0
fuse: mount and backup in parallel ( #1330 )
2017-10-07 11:48:48 +02:00
Alexander Neumann
1a2d190bdb
Merge pull request #1334 from felix9/backup_tags
...
backup should use latest parent regardless of tags
2017-10-07 10:45:02 +02:00
Alexander Neumann
2db4ff168a
Merge pull request #1327 from fawick/fix-1294
...
Create missing lock dir when saving lock
2017-10-07 10:40:29 +02:00
Alexander Neumann
a77c8cc5d2
Add entry to CHANGELOG
2017-10-07 10:23:56 +02:00
Alexander Neumann
b8866c1fe4
Merge pull request #1326 from fawick/rejectionCache
...
Cache evaluated directories in isExcludedByFile
2017-10-07 09:57:54 +02:00
Fabian Wickborn
f0f17db847
Cache evaluated directories in isExcludedByFile
...
Fixes #1271 .
2017-10-06 22:11:22 +02:00
Alexander Neumann
a5c003acb0
Merge pull request #1333 from restic/fix-1328
...
Do not cache invalid/truncated files
2017-10-05 21:36:52 +02:00
Felix Lee
7b44fd0f9d
fix #1143
...
Backup was choosing a parent snapshot that had the same tags, which
makes backup unnecessarily slow when there are newer snapshots with
different tags.
There's no reason parent has to have the same tags.
This change makes backup choose the newest snapshot instead.
2017-10-05 11:48:26 -07:00
Alexander Neumann
cebee0b8fa
cache: Refuse to cache truncated files
2017-10-05 20:40:02 +02:00
Alexander Neumann
d886bc6c48
Ignore invalid index files, print warning
2017-10-05 20:39:53 +02:00
Alexander Neumann
d81adcfaa5
cache: Add file name to error message
2017-10-05 19:30:56 +02:00
Fabian Wickborn
6da9bfbbce
Create missing lock dir when saving lock
2017-10-05 00:07:48 +02:00
Fabian Wickborn
69a6e622d0
Add REST backend option to use CA root certificate
...
Closes #1114 .
2017-10-04 22:14:10 +02:00
Alexander Neumann
1dcfd64028
Merge pull request #1325 from antonlindstrom/lookup-group
...
Add group name in fillUser
2017-10-04 21:32:46 +02:00
Alexander Neumann
5d1c1f721e
Merge pull request #1324 from antonlindstrom/password-feedback
...
Add password successful feedback
2017-10-04 21:31:24 +02:00
Alexander Neumann
fbc8bbf305
Merge pull request #1321 from damienstanton/master
...
fix broken installation link in README
2017-10-04 21:02:33 +02:00
Alexander Neumann
cdef55bb88
Merge pull request #1312 from hgfischer/issue-1119
...
nit: please remove dot imports #1119
2017-10-04 21:01:40 +02:00
Anton Lindstrom
26df48b2aa
Add group name in fillUser
...
This does a lookup of the group name from the GID and adds it to the
Node.
2017-10-04 20:11:54 +02:00
Anton Lindstrom
a7baea0522
Output password successful on terminal stdout
...
This removes the conditions that checks if the password is supplied
through environment variable or file and outputs password is successful
on terminal and when --quiet is not supplied.
2017-10-04 14:55:04 +02:00
Anton Lindstrom
55e6003749
Add password successful feedback
...
This adds some feedback when entering the password on the command line.
When the password is entered and supplied through stdin (and stdout is a
terminal) then the a message saying `password is correct` if correct is
printed.
2017-10-04 13:45:05 +02:00
damienstanton
846acd5d4c
use https
2017-10-03 14:28:17 -04:00
Herbert
43f8145858
Revert "Add .vscode to gitignore"
...
This reverts commit 1b5242b4f9 .
2017-10-03 20:21:54 +02:00
damienstanton
79759928f6
fix broken installation link in README
2017-10-03 13:28:33 -04:00
Alexander Neumann
eb59d28154
Add entry to CHANGELOG
2017-10-03 18:54:07 +02:00
Alexander Neumann
79f63a2e74
Merge pull request #1320 from restic/add-snapshots-json-short-id
...
snapshots: Add short ID to JSON output
2017-10-03 18:53:17 +02:00
Alexander Neumann
6a62254048
Merge pull request #1299 from mungomat/fuse_addSnapshotIDs
...
fuse: Add a snapshot IDs directory (#1102 )
2017-10-03 18:53:05 +02:00
Alexander Neumann
657a1d75af
snapshots: Add short ID to JSON output
...
We're using the short ID in all output to users, so it should also be
included in the JSON output of the `snapshots` command.
2017-10-03 15:24:09 +02:00
Alexander Neumann
2694def56a
Add entry to CHANGELOG
2017-10-03 14:52:10 +02:00
Alexander Neumann
7843341da3
Merge pull request #1319 from antonlindstrom/check-ok-output
...
Add explicit OK output to check command
2017-10-03 14:51:31 +02:00
Anton Lindstrom
d46314648e
Add explicit OK output to check command
...
This adds additional output to the check command when no errors were
found. It means that when all checks have been completed, the following
output is displayed:
No errors were found
The output is added to make sure that it is easier to understand that no
errors were found.
Full example output:
Create exclusive lock for repository
Load indexes
Check all packs
Check snapshots, trees and blobs
No errors were found
2017-10-03 12:57:51 +02:00
Alexander Neumann
e45011af57
Merge pull request #1304 from jannickfahlbusch/showAmountOfSnapshots
...
Show the number of snapshots
2017-10-03 12:41:47 +02:00
Alexander Neumann
fb09884893
Merge pull request #1311 from felix9/dump-no-trees
...
"dump" command no longer has a "trees" option
2017-10-03 12:40:24 +02:00
Alexander Neumann
d1eecafa63
Merge pull request #1314 from jannickfahlbusch/fixTypo
...
Fix typo in comment
2017-10-03 12:39:24 +02:00
Alexander Neumann
b47d991f56
Merge pull request #1316 from restic/prune-wrong-data
...
prune: Warn about wrong plaintext blob ID
2017-10-03 12:39:04 +02:00
Alexander Neumann
553ea812a7
Add entry to CHANGELOG
2017-10-03 12:38:00 +02:00
Alexander Neumann
216e374310
Merge pull request #1315 from prattmic/cache_doc
...
Clarify cache location documentation
2017-10-03 12:36:53 +02:00
Alexander Neumann
034b0b8040
forget: Run prune for manually forgotten snapshots
2017-10-03 11:56:13 +02:00
Michael Pratt
5ab9e12b46
Clarify cache location documentation
...
PR #1287 changed the default cache location on darwin and windows.
Update the changelog and manual to reflect the new behavior.
Since the cache hasn't been included in an official release yet, I've
just changed the main cache changelog entry.
Fixes #1309
2017-10-03 11:44:09 +02:00
Alexander Neumann
abe6e0d22d
Merge pull request #1300 from jniggemann/refactor-manual
...
doc: Refactors the documentation
2017-10-03 11:41:00 +02:00
Jan Niggemann
f5b550191c
doc: Refactors the documentation
...
This commit refactors the documentation according to my proposal in #1273
and the discussion I had with fd0 on IRC.
The bits from the manual that I could not immediately put into the new
structure are contained in manual_rest.rst Anything else is still there,
nothing has been deleted.
I changed the heading markup to follow the convention used in Python’s
Style Guide for documentation, this convention is explained in a comment
at the top of every file.
I also added a paragraph on installing restic on Debian.
2017-10-03 11:21:53 +02:00
Jannick Fahlbusch
3dcacb3730
Fix typo in comment
2017-10-02 18:19:22 +02:00
Herbert
033589a66b
Use rtest on these as well to keep codebase consistent
2017-10-02 17:48:08 +02:00
Jannick Fahlbusch
e46a647c45
Just print the number of snapshots
2017-10-02 17:05:59 +02:00
Alexander Neumann
f26492fc2d
prune: Warn about wrong plaintext blob ID
2017-10-02 16:27:08 +02:00
Herbert
3473c3f7b6
Remove all dot-imports
2017-10-02 15:06:39 +02:00
Herbert
1b5242b4f9
Add .vscode to gitignore
2017-10-02 15:06:23 +02:00
Felix Lee
6d897def1b
also fix man page
2017-10-01 18:33:41 -07:00
Jannick Fahlbusch
2f10e25738
Show the amount of snapshots
2017-10-01 17:14:54 +02:00
Felix Lee
555bd257bd
dump command no longer has 'trees' option
2017-10-01 08:04:52 -07:00
Alexander Neumann
3afd974dea
Add entry to CHANGELOG
2017-10-01 10:35:15 +02:00
Alexander Neumann
f4120c9d45
Merge pull request #1301 from restic/update-blazer
...
Update vendored dependencies
2017-10-01 10:33:54 +02:00
Alexander Neumann
61cb1cc6f8
Update vendored dependencies
...
This includes github.com/kurin/blazer 0.2.0, which resolves #1291
2017-10-01 10:13:39 +02:00
Tobias Klein
49bc1d0b3b
fuse: Add a snapshot IDs directory ( #1102 )
2017-09-30 16:22:14 +02:00
Alexander Neumann
ba23d24dd1
Merge pull request #1298 from restic/fix-1288
...
sftp: Handle/Document tilde character
2017-09-30 12:28:09 +02:00
Alexander Neumann
556a63de19
sftp: Return error when path starts with a tilde (~)
2017-09-30 10:34:23 +02:00
Alexander Neumann
fae3c4d437
faq: Add entry about Synology NAS' sftp path
2017-09-30 10:30:21 +02:00
Alexander Neumann
89c2ed2a1c
manual: Document that sftp does not expand tilde
2017-09-30 10:24:28 +02:00
Alexander Neumann
23f1cb06d6
Fix FAQ
2017-09-30 10:21:56 +02:00
Alexander Neumann
ac92e2dd2d
Add to CHANGELOG entry
2017-09-29 21:45:37 +02:00
Alexander Neumann
bf58425351
Merge pull request #1287 from prattmic/cachedir
...
cache: OS-specific cache directories
2017-09-29 21:42:34 +02:00
Alexander Neumann
a3dc0ab398
Merge pull request #1295 from bachp/patch-2
...
Fix wrong quotes for command in installation.
2017-09-29 21:41:13 +02:00
Pascal Bach
224ebdb8b9
Fix wrong quotes for command in installation.
2017-09-29 10:08:24 +02:00
Alexander Neumann
cf80d295f3
Merge pull request #1285 from bachp/patch-1
...
Add instruction on how to install restic using Nix
2017-09-28 22:03:19 +02:00
Michael Pratt
2133869127
cache: OS-specific cache directories
...
Windows, and to a lesser extent OS X, don't conform to XDG and have
their own preferred locations for caches.
On Windows, use %LOCALAPPDATA%/restic (i.e., ~/AppData/Local/restic). I
can't find authoritative documentation from Microsoft recommending
specifically which of %APPDATA%, %LOCALAPPDATA%, and %TEMP% should be
used for caches, but %LOCALAPPDATA% is where browsers store their
caches, so it seems like a good fit.
On OS X, use ~/Library/Caches/restic, which is recommended by the Apple
documentation. They do suggest using the application "bundle identifier"
as the base folder name, but restic doesn't have one, so I just used
"restic".
2017-09-27 21:16:22 -07:00
Pascal Bach
97330ac621
Add instruction on how to install restic using Nix
2017-09-27 22:41:20 +02:00
Alexander Neumann
1ee1559506
Add release script
2017-09-26 22:14:58 +02:00
Alexander Neumann
eccc336319
Add entry to CHANGELOG
2017-09-26 14:18:37 +02:00
Alexander Neumann
7fe657ec71
Merge pull request #1282 from restic/rework-autogeneration
...
Rework generation of manpages and completion files
2017-09-26 14:16:41 +02:00
Alexander Neumann
77c07bfd19
Remove integration test for manpage
2017-09-26 13:16:55 +02:00
Alexander Neumann
4de938d97a
Update manpages and auto-completion
2017-09-26 13:16:08 +02:00
Alexander Neumann
dad1c87afe
Rework generation of manpages and completion files
...
This commit removes the `manpages` and `autocomplet` commands and
replaces them with the more generic `generate` command. Also, zsh
completion file support was added.
2017-09-26 13:12:12 +02:00
Alexander Neumann
801dbb6d03
Merge pull request #1281 from prattmic/gcs_perms
...
gs: allow backend creation without storage.buckets.get
2017-09-26 09:38:33 +02:00
Michael Pratt
fa0be82da8
gs: allow backend creation without storage.buckets.get
...
If the service account used with restic does not have the
storage.buckets.get permission (in the "Storage Admin" role), Create
cannot use Get to determine if the bucket is accessible.
Rather than always trying to create the bucket on Get error, gracefully
fall back to assuming the bucket is accessible. If it is, restic init
will complete successfully. If it is not, it will fail on a later call.
Here is what init looks like now in different cases.
Service account without "Storage Admin":
Bucket exists and is accessible (this is the case that didn't work
before):
$ ./restic init -r gs:this-bucket-does-exist:/
enter password for new backend:
enter password again:
created restic backend c02e2edb67 at gs:this-bucket-does-exist:/
Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
Bucket exists but is not accessible:
$ ./restic init -r gs:this-bucket-does-exist:/
enter password for new backend:
enter password again:
create key in backend at gs:this-bucket-does-exist:/ failed:
service.Objects.Insert: googleapi: Error 403:
my-service-account@myproject.iam.gserviceaccount.com does not have
storage.objects.create access to object this-bucket-exists/keys/0fa714e695c8ecd58cb467cdeb04d36f3b710f883496a90f23cae0315daf0b93., forbidden
Bucket does not exist:
$ ./restic init -r gs:this-bucket-does-not-exist:/
create backend at gs:this-bucket-does-not-exist:/ failed:
service.Buckets.Insert: googleapi: Error 403:
my-service-account@myproject.iam.gserviceaccount.com does not have storage.buckets.create access to bucket this-bucket-does-not-exist., forbidden
Service account with "Storage Admin":
Bucket exists and is accessible: Same
Bucket exists but is not accessible: Same. Previously this would fail
when Create tried to create the bucket. Now it fails when trying to
create the keys.
Bucket does not exist:
$ ./restic init -r gs:this-bucket-does-not-exist:/
enter password for new backend:
enter password again:
created restic backend c3c48b481d at gs:this-bucket-does-not-exist:/
Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
2017-09-25 22:25:51 -07:00
Alexander Neumann
7e8bc8d362
Merge pull request #1279 from restic/fix-eof-error
...
cache: Synchronize downloading
2017-09-25 16:39:20 +02:00
Alexander Neumann
0bb2a8e0d0
cache: Synchronize downloading
...
This commit adds code to synchronize downloading files to the cache.
Before, requests that came in for files currently downloading would fail
because the file was not completed in the cache. Now, the code waits
until the download is completed.
Closes #1278
2017-09-25 15:58:20 +02:00
Alexander Neumann
2e72b57f2f
Correct debug message
2017-09-25 14:35:37 +02:00
Alexander Neumann
bff1039e3a
Add entry to CHANGELOG
2017-09-25 13:17:44 +02:00
Alexander Neumann
5a999cb77f
Merge pull request #1040 from restic/add-cache
...
Add local cache
2017-09-25 13:13:07 +02:00
Alexander Neumann
3a2539e0ac
doc: Update manpages
2017-09-24 23:13:04 +02:00
Alexander Neumann
e262f35d0a
cache: Auto-remove invalid files
2017-09-24 23:11:47 +02:00
Alexander Neumann
176bfa6529
backend: Improve ReadAt
2017-09-24 23:11:23 +02:00
Alexander Neumann
240c4cf2fd
cache: In case of an error, fall back backend
2017-09-24 23:11:23 +02:00
Alexander Neumann
db5ec5d876
repo: Automatically cache tree-only pack files
2017-09-24 23:11:23 +02:00
Alexander Neumann
e1dfaf5d87
cache: Allow proactive caching of tree packs
...
This commit adds a function to the cache which can decide to proactively
load the complete pack file and store it in the cache. This is helpful
for pack files containing only tree blobs, as it is likely that the same
file is accessed again in the future.
2017-09-24 23:11:23 +02:00
Alexander Neumann
5436154f0d
cache: Add PerformReadahead
2017-09-24 23:11:23 +02:00
Alexander Neumann
809e218d20
cache: Improve debug logs
2017-09-24 23:11:23 +02:00
Alexander Neumann
1eaad6cebb
index: Add TreePacks()
2017-09-24 21:54:53 +02:00
Alexander Neumann
56fccecd06
prune: Repack mixed pack files
2017-09-24 21:54:53 +02:00
Alexander Neumann
3890a947ca
Clear data files in cache
2017-09-24 21:54:53 +02:00
Alexander Neumann
e299272378
repo: Try cached pack files first
2017-09-24 21:54:53 +02:00
Alexander Neumann
70248bd05a
repo: Clear indexes
2017-09-24 21:54:53 +02:00
Alexander Neumann
7a5fde8f5a
repository: Save pack files for trees in cache
2017-09-24 21:54:53 +02:00
Alexander Neumann
62ba9f1950
check: Disable cache by default
2017-09-24 21:54:53 +02:00
Alexander Neumann
610b676444
Automatically exclude current restic cache
2017-09-24 21:54:53 +02:00
Alexander Neumann
58699e3c90
Write CACHEDIR.TAG to cache base directory
2017-09-24 21:54:53 +02:00
Alexander Neumann
9be24a1c9f
Add cache
...
This commits adds rudimentary support for a cache directory, enabled by
default. The cache directory is created if it does not exist. The cache
is used if there's anything in it, newly created snapshot and index
files are written to the cache automatically.
2017-09-24 21:54:53 +02:00
Alexander Neumann
5ace41471e
Merge pull request #1277 from prattmic/gcs_cleanup
...
Document GCS permission requirements
2017-09-24 20:49:02 +02:00
Michael Pratt
3b2106ed30
gs: document required permissions
...
In the manual, state which standard roles the service account must
have to work correctly, as well as the specific permissions required,
for creating even more specific custom roles.
2017-09-24 11:25:57 -07:00
Michael Pratt
5f4f997126
gs: minor comment cleanups
...
* Remove a reference to S3.
* Config can only be used for GCS, not other "gcs compatibile servers".
* Make comments complete sentences.
2017-09-24 10:10:56 -07:00
Alexander Neumann
49d397a419
Merge pull request #1275 from fawick/sort_snapshots
...
Always sort snapshots lists ascending by timestamp
2017-09-24 16:32:40 +02:00
Fabian Wickborn
ea1ab96749
Always sort snapshots lists ascending by timestamp
...
Fixes #1219 .
2017-09-24 13:01:13 +02:00
Alexander Neumann
24c62e719a
Add entry to CHANGELOG
2017-09-23 22:15:10 +02:00
Alexander Neumann
9c6b7f688e
Merge pull request #1270 from restic/sftp-allow-password-prompt
...
sftp: Allow password entry
2017-09-23 22:13:04 +02:00
Alexander Neumann
d41dce5ecb
Merge pull request #1272 from jniggemann/doc-faq-add-prio
...
doc: FAQ: Add info on IO and CPU prioritization
2017-09-23 20:08:17 +02:00
Jan Niggemann
52a3eafede
doc: FAQ: Add info on IO and CPU prioritization
2017-09-23 19:32:07 +02:00
Alexander Neumann
55dfc85159
manual: Add hint for RESTIC_PASSWORD_FILE
2017-09-23 19:16:07 +02:00
Alexander Neumann
a7a478a19e
doc: Correct FAQ
2017-09-23 19:15:21 +02:00
Alexander Neumann
2080afd9de
Merge pull request #1259 from jniggemann/doc-add-restic-check-advice
...
adds advice to run restic check regularly
2017-09-23 14:07:55 +02:00
Alexander Neumann
9aa136b982
Merge pull request #1260 from jniggemann/doc-add-info-on-special-items
...
Doc add info on special items
2017-09-23 14:07:20 +02:00
Alexander Neumann
3a191f37cb
Add entry to CHANGELOG
2017-09-23 14:05:55 +02:00
Alexander Neumann
429106340f
Merge pull request #1267 from harshavardhana/possible-fix-memory
...
Implement Size() and Len() to know the optimal size.
2017-09-23 14:04:15 +02:00
Alexander Neumann
530c73b457
Merge pull request #1269 from mrzv/forget-compact
...
Add --compact option to forget
2017-09-23 14:02:34 +02:00
Alexander Neumann
fb9729fdb9
sftp: Allow password entry
...
This was a bit tricky: We start the ssh binary, but we want it to ignore
SIGINT. In contrast, restic itself should process SIGINT and clean up
properly. Before, we used `setsid()` to give the ssh process its own
process group, but that means it cannot prompt the user for a password
because the tty is gone.
So, now we're passing in two functions that ignore SIGINT just before
the ssh process is started and re-install it after start.
2017-09-23 11:43:33 +02:00
Alexander Neumann
45a09c76ff
Allow suspending SIGINT handler
2017-09-23 11:12:56 +02:00
Dmitriy Morozov
efd65a1b65
Update manpage for forget
2017-09-22 16:35:58 -07:00
Dmitriy Morozov
ae60188eb9
Add --compact option to forget
2017-09-22 16:32:59 -07:00
Jan Niggemann
3b904525d9
manual: Add info on special items (device files)
2017-09-22 22:58:26 +02:00
Jan Niggemann
1e31f5202f
manual: Add info on special items
...
Add info about handling of symlinks and bind-mounts.
Closes : #1014
2017-09-22 22:51:31 +02:00
Jan Niggemann
f12d41138a
Add advice to run check regularly
2017-09-22 22:27:10 +02:00
Harshavardhana
98369f6a5d
Implement Size() and Len() to know the optimal size.
2017-09-22 12:09:17 -07:00
Alexander Neumann
8f9bf1995b
Merge pull request #1265 from restic/improve-packers
...
Improve packers, prepare for cache
2017-09-22 16:16:10 +02:00
Alexander Neumann
e7de3b5f9d
Merge pull request #1266 from JaCoB1123/document_hostname_option
...
Add note about rescan to hostname flag (fixes #1221 )
2017-09-22 15:40:24 +02:00
Alexander Neumann
3541d06d07
repo: Split packers for tree and data
...
The code now bundles tree blobs and data blobs into different pack
files, so we'll end up with pack files that either only contain data or
trees. This is in preparation to adding a cache (#1040 ), because
tree-only pack files can easily be cached later on.
2017-09-22 15:36:47 +02:00
Alexander Neumann
db0e3cd772
repo: Remove packer limits
...
This commit simplifies finding a packer: The first open packer is taken,
and the upper limit for the pack file is removed.
2017-09-22 15:36:47 +02:00
Alexander Neumann
d3fee08f9a
Merge pull request #1263 from restic/cleanups
...
Small cleanups
2017-09-22 15:36:13 +02:00
Jan Bader
727fb6eabe
Add note about rescan to hostname flag ( fixes #1221 )
2017-09-22 14:29:04 +02:00
Alexander Neumann
d610c60991
repo: Remove unused sync.Pool
2017-09-22 12:37:10 +02:00
Alexander Neumann
3f6e11d26e
Allow sorting nodes in trees
2017-09-22 12:37:05 +02:00
Alexander Neumann
a4577769ae
Merge pull request #1262 from mafgh/bytes
...
fix duplicate bytes in prune output
2017-09-22 11:59:10 +02:00
Stefan Völkel
7f927d4774
fix duplicate bytes in prune output
2017-09-22 10:07:24 +02:00
Alexander Neumann
e091673f8f
Merge pull request #1258 from restic/sftp-remove-stat
...
local/sftp: Remove unneeded stat() call
2017-09-21 22:37:12 +02:00
Alexander Neumann
9842eff887
local/sftp: Remove unneeded stat() call
2017-09-21 21:47:03 +02:00
Alexander Neumann
c40b3d3983
Add entry to CHANGELOG
2017-09-21 20:34:17 +02:00
Alexander Neumann
ac5eefdee4
Merge pull request #1249 from mungomat/fuse_symlink
...
fuse: added symlink 'latest' to snapshots-dir
2017-09-21 20:33:10 +02:00
Alexander Neumann
bf508643a5
Merge pull request #1257 from restic/update-deps
...
Update vendored dependencies
2017-09-21 20:19:25 +02:00
Alexander Neumann
02fc16e97d
Update vendored dependencies
2017-09-21 17:48:45 +02:00
Tobias Klein
1a83a739dc
fuse: added symlink 'latest' to snapshots-dir
2017-09-21 16:41:20 +02:00
Alexander Neumann
81473f4538
Add VERSION file for 0.7.3
2017-09-20 20:50:07 +02:00
Alexander Neumann
e1a847e4d1
Add new version to CHANGELOG
2017-09-20 20:49:55 +02:00
Alexander Neumann
0f426c3795
Merge pull request #1254 from jniggemann/doc_metadata
...
documents metadata handling, fixes #647
2017-09-20 20:24:57 +02:00
Alexander Neumann
6df3d169b8
Add entry to CHANGELOG
2017-09-20 11:05:35 +02:00
Alexander Neumann
5479daa6d4
Merge pull request #1247 from restic/fix-1246
...
Fix backend List()
2017-09-20 11:04:05 +02:00
Jan Niggemann
397fec0152
documents metadata handling, fixes #647
2017-09-19 15:49:54 +02:00
Alexander Neumann
d7e644272f
prune: Add plausibility check
2017-09-19 10:50:07 +02:00
Alexander Neumann
e91749bbb0
Merge pull request #1245 from anarcat/faq
...
add explanation of restic automation
2017-09-19 10:46:55 +02:00
Antoine Beaupré
bcd1e45ba7
fix typo, add note about file permissions
2017-09-18 08:55:18 -04:00
Alexander Neumann
4c6b626db6
backend: Improve TestList
2017-09-18 13:18:42 +02:00
Alexander Neumann
835ba16c27
b2: Add pagination for List()
2017-09-18 12:13:35 +02:00
Alexander Neumann
3b6a580b32
backend: Make pagination for List configurable
2017-09-18 12:01:54 +02:00
Alexander Neumann
01c486d486
Merge pull request #1250 from dvrkps/patch-1
...
travis: update go versions
2017-09-17 20:59:35 +02:00
Alexander Neumann
6342a08a16
Merge pull request #1248 from mungomat/fuse_typo
...
fuse: typo
2017-09-17 20:57:42 +02:00
Davor Kapsa
94c8ee11f8
travis: update go versions
2017-09-17 19:02:22 +02:00
Tobias Klein
9b38980ed9
fuse: typo
2017-09-17 17:39:28 +02:00
Alexander Neumann
649c536250
backend: Improve test for pagination in list
2017-09-17 11:36:45 +02:00
Alexander Neumann
dd49e2b12d
Azure: Fix List(), use pagination marker
2017-09-17 11:32:05 +02:00
Alexander Neumann
f61dab1774
backend: Add test for List()
2017-09-17 11:09:16 +02:00
Alexander Neumann
40edf00182
gs: implement pagination
2017-09-17 11:08:51 +02:00
Alexander Neumann
c35518a865
Azure/GS: Remove ReadDir()
2017-09-17 11:05:30 +02:00
Antoine Beaupré
7a0b4428e3
add explanation of restic automation
...
every time i look at restic, i block on this and figured it may be useful for others
2017-09-16 10:17:36 -04:00
Alexander Neumann
c784a15aaa
Merge pull request #1244 from restic/fix-swift-backend-tests
...
Ignore "not exist" errors for swift backend tests
2017-09-16 14:54:32 +02:00
Alexander Neumann
ce180de9b8
Merge pull request #1243 from restic/improve-error-reporting
...
Improve error reporting
2017-09-16 14:54:30 +02:00
Alexander Neumann
fca9a523e9
Merge pull request #1241 from restic/fix-timestamp-check
...
Use .Equal() instead of == for time.Time
2017-09-16 14:54:26 +02:00
Alexander Neumann
8a3889be11
Merge pull request #1240 from restic/config-autocomplete-dir
...
Correct bash completion file path
2017-09-16 14:54:20 +02:00
Alexander Neumann
2a1633621b
Ignore "not exist" errors for swift backend tests
2017-09-16 13:59:55 +02:00
Alexander Neumann
e2deeceb1b
Update manpage
2017-09-16 11:29:37 +02:00
Alexander Neumann
d4e994de7b
Improve error reporting
...
This will print the error (including a stack trace) if available before
exiting.
2017-09-16 10:55:13 +02:00
Alexander Neumann
a60e751217
Use .Equal() instead of == for time.Time
...
Closes #1238
2017-09-15 20:57:35 +02:00
Alexander Neumann
81c5d8a968
Correct bash completion file path
2017-09-15 20:45:16 +02:00
Alexander Neumann
5b1e4df177
Add version to CHANGELOG
2017-09-13 17:14:43 +02:00
Alexander Neumann
4d80744cbb
Add VERSION file for 0.7.2
2017-09-13 17:14:26 +02:00
Alexander Neumann
e243d4b7ee
Merge pull request #1236 from restic/update-deps
...
Update dependencies
2017-09-13 14:51:07 +02:00
Alexander Neumann
dce35fcb00
Merge pull request #1232 from prattmic/patch-1
...
doc: remove broken link
2017-09-13 14:18:46 +02:00
Alexander Neumann
e45a21b0b6
Merge pull request #1231 from restic/fix-local-datadir-create
...
local: Fix creating data dirs
2017-09-13 14:15:30 +02:00
Alexander Neumann
fda563d606
Update dependencies
2017-09-13 14:09:48 +02:00
Alexander Neumann
f3b49987f8
Add entry to CHANGELOG
2017-09-13 14:04:55 +02:00
Alexander Neumann
c8c01a5cae
Merge pull request #1223 from mrzv/snapshots-compact
...
Add --compact option to snapshots
2017-09-13 14:02:31 +02:00
Michael Pratt
f7ece90129
doc: remove broken link
...
The link to SFTP is broken, remove it.
I don't even bother to put a new link, since SFTP is literally the next section.
2017-09-12 21:02:34 -07:00
Alexander Neumann
0f25ef9498
Merge pull request #1230 from shayneholmes/update-short-help
...
Update style in short help commands
2017-09-11 22:25:31 +02:00
Alexander Neumann
5bf2228596
local: Fix creating data dirs
2017-09-11 21:48:25 +02:00
Alexander Neumann
227b01395f
local: Add test for open non-existing dir
2017-09-11 21:34:26 +02:00
Shayne Holmes
9f52fe1a10
Update manpages
...
This is a programmatic change; just ran `restic man-page`
2017-09-11 12:05:51 -07:00
Shayne Holmes
affc6c3390
Correct manpage command
2017-09-11 11:21:44 -07:00
Alexander Neumann
951a34dcbf
Add entry to CHANGELOG
2017-09-11 19:02:36 +02:00
Alexander Neumann
36eaa22ed0
Merge pull request #1205 from mungomat/backup_time
...
Backup time
2017-09-11 19:01:41 +02:00
Alexander Neumann
62df316356
Merge pull request #1194 from mungomat/bugfix_bucker_always
...
fix: bucker
2017-09-11 19:01:23 +02:00
Shayne Holmes
00797fdd85
Synchronize manual with help output
...
Two commands in the output weren't mentioned in the manual.
2017-09-11 09:33:19 -07:00
Shayne Holmes
9eb39cef05
Capitalize short help commands
...
Unify existing Cobra help command, and git-help's style.
2017-09-11 09:32:44 -07:00
Shayne Holmes
ee6150f67c
Change short help messages to imperative voice
...
Unify the output of `restic help`.
2017-09-11 09:26:13 -07:00
Alexander Neumann
9fa909ccd6
Update golden files
2017-09-11 17:52:22 +02:00
Alexander Neumann
b1af544b1d
Merge pull request #1224 from restic/improve-exclude-caches
...
Allow multiple exclude-if-present
2017-09-11 17:31:24 +02:00
Dmitriy Morozov
7d5b17ac72
Update man page for snapshots
2017-09-10 15:28:06 -07:00
Dmitriy Morozov
7a221f2473
Run changes through gofmt
2017-09-10 15:09:28 -07:00
Dmitriy Morozov
bdbe956c5c
Add --compact option to snapshots
...
With --compact, snapshots doesn't list directories and puts all tags on a single
line. This way each snapshot takes up exactly one line.
2017-09-10 13:06:43 -07:00
Alexander Neumann
8e5b1e6f2f
Add --group-by to manual
2017-09-10 21:00:51 +02:00
Alexander Neumann
257a454515
Add entry to CHANGELOG
2017-09-10 20:55:02 +02:00
Alexander Neumann
b6aeea425b
Merge pull request #1196 from mungomat/forget_groupByTagsOnly
...
forget: group-by-tags-only
2017-09-10 20:52:15 +02:00
Alexander Neumann
c8e05d1f2a
Add entry to CHANGELOG
2017-09-10 20:29:08 +02:00
Alexander Neumann
a8aa4eb06c
Rename parameter filename -> path
2017-09-10 20:28:21 +02:00
Alexander Neumann
c1a02cc081
Merge pull request #1228 from restic/fix-1204-3
...
Always use long name for keys
2017-09-10 19:39:23 +02:00
Alexander Neumann
e66adc42da
Always use long name for keys
...
Otherwise the code panics if a file with a short name is tried.
2017-09-10 15:35:10 +02:00
Alexander Neumann
89938bc21c
Update manual pages
2017-09-10 15:33:20 +02:00
Alexander Neumann
0b2947dedb
Add test for rejectByPattern
2017-09-10 15:31:58 +02:00
Alexander Neumann
47ddd34266
Improve test
2017-09-10 15:20:41 +02:00
Alexander Neumann
2fdca5d310
Improve debug message
2017-09-10 15:16:05 +02:00
Alexander Neumann
e5d4e33509
Improve error message if no targets specified
2017-09-10 15:14:11 +02:00
Alexander Neumann
e117f613af
Move device test into new RejectFunc
2017-09-10 15:13:40 +02:00
Alexander Neumann
0dfdf02885
Rework pattern excludes
2017-09-10 14:34:28 +02:00
Alexander Neumann
4a0129fc2b
Rename excludeByFile -> rejectIfPresent
2017-09-10 14:25:58 +02:00
Alexander Neumann
a9c705009c
Move reject functions to new file
2017-09-10 14:25:25 +02:00
Alexander Neumann
d937ad8cf6
Rename FilenameCheck to RejectFunc
...
We already have the opposite: pipe.SelectFunc(item string, fi
os.FileInfo) bool, so RejectFunc is a good name.
2017-09-10 14:21:51 +02:00
Alexander Neumann
1a08a8219f
Merge pull request #1227 from restic/fix-1204-2
...
Handle invalid key file
2017-09-10 14:12:51 +02:00
Tobias Klein
9924c311c9
added test cases
2017-09-10 12:23:28 +02:00
Alexander Neumann
e846e14965
Ignore files with invalid name in the repo
2017-09-10 11:00:07 +02:00
Alexander Neumann
36e70228f2
Handle invalid key file
2017-09-10 10:55:01 +02:00
Tobias Klein
a677f1139a
removed unnacessary line
2017-09-10 10:41:07 +02:00
Alexander Neumann
6f8eba9c28
Merge pull request #1222 from damiencourousse/manual-typo-fix
...
manual: typo fix
2017-09-09 21:40:00 +02:00
Alexander Neumann
c22c582546
Allow multiple exclude-if-present
2017-09-09 21:24:29 +02:00
Alexander Neumann
ea75509d6e
Print warning for non-existing items
2017-09-09 21:12:41 +02:00
Tobias Klein
ed30bd7b76
gofmt
2017-09-09 18:19:19 +02:00
Damien Couroussé
7090c5ceeb
manual: typo fix
2017-09-09 16:58:17 +02:00
Tobias Klein
bee09c1a0f
test
2017-09-09 16:33:51 +02:00
Tobias Klein
8f9ef4402b
error in case of unknown grouping option
2017-09-09 15:55:37 +02:00
Tobias Klein
f26c0cb70f
testcase updated
2017-09-09 15:33:12 +02:00
Tobias Klein
81d7ecba2b
manual updated
2017-09-09 13:26:35 +02:00
Tobias Klein
087c3fe1dc
tests updated
2017-09-09 13:26:35 +02:00
Tobias Klein
43ff971dfd
new sub-option for backup: time
...
New option to specify the timestamp for a backup
2017-09-09 13:26:35 +02:00
Alexander Neumann
5c75a98053
Merge pull request #1220 from restic/fix-1204
...
Fix panic when file name is too short
2017-09-09 11:49:23 +02:00
Alexander Neumann
7ce47402fb
Merge pull request #1170 from fawick/exclude_caches
...
Add option to exclude contents of cache directories
2017-09-09 10:56:12 +02:00
Alexander Neumann
1e48141648
Fix panic when file name is too short
...
Closes #1204
2017-09-09 10:50:32 +02:00
Fabian Wickborn
dbda892542
Add option to exclude directories with a tagfile
...
The option is named --exclude-if-present and accepts a parameter
filename[:content]. Directories are excluded and their contents is not
backed up if they contain a file with the specified name and,
optionally, that starts with the specified content. The tagfile itself
is never excluded.
There is also a shortcut --exclude-caches that works in the same way as
the likewise-named option of tar(1): Directories are recognized as cache
if they contain a file named "CACHEDIR.TAG.
Closes #317 .
2017-09-09 09:57:42 +02:00
Alexander Neumann
b46774be21
Merge pull request #1214 from ricardoseriani/fix-manual.rst-key-remove
...
Fix manual.rst to use key remove instead of key rm
2017-09-07 21:16:46 +02:00
Tobias Klein
1073bfba37
flexible grouping option for the forget-command
2017-09-06 20:14:18 +02:00
Alexander Neumann
5dfb4d1195
Merge pull request #1209 from restic/handle-colliding-names
...
Resolve name collisions
2017-09-05 22:33:32 +02:00
Alexander Neumann
0a2219c5f7
Travis: Reduce workload by removing Go tip
2017-09-05 22:08:23 +02:00
Alexander Neumann
ff3149831e
Merge pull request #1210 from prattmic/glob_test
...
filter: document recursive wildcards
2017-09-05 21:50:27 +02:00
Alexander Neumann
c935d0558c
Add entry to CHANGELOG
2017-09-05 21:48:13 +02:00
Alexander Neumann
83eb075e3a
Resolve name collisions
...
At the moment when two items to be saved have the same directory name,
restic only saves the first one to the repo. Let's say we have a
structure like this:
dir1
└── subdir
└── file
dir2
└── subdir
└── file
When restic is run on `dir1/subdir` and `dir2/subdir`, it will only save
the first `subdir`:
$ restic backup dir1/subdir dir2/subdir
[...]
$ restic ls -l latest
drwxr-xr-x 1000 100 0 2017-08-27 20:56:39 /subdir
-rw-r--r-- 1000 100 17 2017-08-27 20:56:39 /subdir/file
That's obviously a bad thing, caused by an early decision to strip the
full path to the files/dirs to save and only leave the last directory.
This commit partly resolves this by handling colliding names and
resolving the conflicts. Restic will now append a counter to the file
(`-123`) until the conflict is resolved. So in the example above, we'll
end up with the following structure:
$ restic ls -l latest
drwxr-xr-x 1000 100 0 2017-08-27 20:56:39 /subdir
-rw-r--r-- 1000 100 17 2017-08-27 20:56:39 /subdir/file
drwxr-xr-x 1000 100 0 2017-08-27 20:56:46 /subdir-1
-rw-r--r-- 1000 100 17 2017-08-27 20:56:46 /subdir-1/file
This partly addresses #549 and closes #1179 .
At first I thought that the obvious correction would be to archive the
full path. But it turns out that collisions may still occur: Suppose you
have a file named `foo` in the current directory, and the parent directory
also contains a file `foo`. Archiving these with restic also causes a
collision, since restic strips the `../` from the first file:
$ restic backup ../foo foo
This also happens with `tar`, which does not handle the collision and
will happily archive two files called `foo`.
So, the best way forward is to handle name collisions and archive the
whole path. The latter will be tackled in a separate PR.
2017-09-05 21:47:02 +02:00
Ricardo Seriani
204c2bf09c
Fix manual to use key remove instead of key rm
2017-09-05 16:22:42 -03:00
Alexander Neumann
2444522243
Add test for colliding names
2017-09-05 21:10:02 +02:00
Michael Pratt
92eb1cbffd
filter: document recursive wildcards
...
Match/ChildMatch accept a ** pattern which is not noted in the doc
string, nor do any of the docs or tests specify whether the match is
greedy (i.e., can 'foo/**/bar' match paths with additional intermediate
bar directories?).
Add a note to the doc string and add test cases for greedy matches.
2017-09-04 14:38:48 -07:00
Alexander Neumann
8c40ae5a03
Add entry to CHANGELOG
2017-09-04 21:58:33 +02:00
Alexander Neumann
fa2ee78a5c
Merge pull request #1044 from lloeki/982-improve-restore
...
Improve restore
2017-09-04 21:51:12 +02:00
Tobias Klein
e4a5cdc5bc
forget: group-by-tags-only
2017-09-03 17:11:25 +02:00
Tobias Klein
2d73a273af
saving a variable
2017-09-03 17:09:55 +02:00
Tobias Klein
761af08889
fix: bucker
...
bucker "always" does not return a unique id in case of exact same timestamps
2017-09-03 17:09:55 +02:00
Alexander Neumann
0ee1650f82
Merge pull request #1191 from prattmic/profile
...
debug: properly handle interrupted profiles
2017-09-03 09:49:46 +02:00
Alexander Neumann
0e647417f3
Add entry to CHANGELOG
2017-09-03 09:49:37 +02:00
Alexander Neumann
d1bf5a4882
Merge pull request #1203 from myfreeweb/master
...
Handle SIGINFO on all supported platforms
2017-09-03 09:44:24 +02:00
Alexander Neumann
b8414b240c
Add entry to CHANGELOG
2017-09-03 09:44:15 +02:00
Greg V
3fbdd12b04
Handle SIGINFO on all supported platforms
...
Not just darwin
2017-09-02 22:06:31 +03:00
Alexander Neumann
a3f6bf3e5a
Merge pull request #1202 from restic/fix-manpages
...
Fix manpages, update Go version
2017-09-02 10:11:43 +02:00
Alexander Neumann
3a5805db50
Update Go versions for CI
2017-09-02 09:29:02 +02:00
Alexander Neumann
de8c64e767
Use deterministic date for man pages
2017-09-02 09:27:11 +02:00
Alexander Neumann
73d6b15095
Merge pull request #1201 from gjmf/patch-1
...
Fixed word-o. ("Package", not "packet".)
2017-09-01 21:21:18 +02:00
Alexander Neumann
5d396b9302
Merge pull request #1200 from molivier/patch-1
...
Update manual.rst
2017-09-01 21:21:16 +02:00
Graham Freeman
61d2519111
Fixed word-o. ("Package", not "packet".)
...
Fixed a word-o. homebrew is a package manager, not a packet manager. :)
2017-08-31 13:34:53 -07:00
Matthieu OLIVIER
e61c94a846
Update manual.rst
...
`key remove` becomes `key rm`.
2017-08-31 18:26:04 +02:00
Alexander Neumann
7ed0f61f3f
Merge pull request #1189 from FiloSottile/patch-2
...
doc/design: fix keys.data MAC format description
2017-08-29 20:44:31 +02:00
Alexander Neumann
85055d1c68
Merge pull request #1187 from FiloSottile/patch-1
...
internal/crypto: small simplifications
2017-08-29 20:43:15 +02:00
Michael Pratt
e4c469c149
debug: properly handle interrupted profiles
...
By default (i.e., without profile.NoShutdownHook), profile.Start listens
for SIGINT and will stop the profile and call os.Exit(0).
restic already listens for SIGINT and runs its own cleanup handlers
before calling os.Exit(0).
As is, these handlers are racing when an interrupt occurs, and in my
experience, restic tends to win the race, resulting in an unusable
profile.
Eliminate the race and properly stop profiles on interrupt by disabling
package profile's signal handler and instead stop the profile in a
restic cleanup handler.
2017-08-28 22:03:26 -07:00
Filippo Valsorda
9940e8d9f1
internal/crypto: small simplifications
...
* append operates on len, not cap (not a bug since len is set to cap above, but let's avoid the confusion)
* no need to extend ciphertext again to cap after we made it big enough
* make consistent use of ciphertext[:ivSize] vs iv[:]
* make all input problems errors and impossible/catastrophic cases panics
2017-08-29 00:30:06 +02:00
Filippo Valsorda
3dccca1f27
doc/design: fix keys.data MAC format description
...
"not including the last 32 byte" was wrong, should have been 16 bytes. But the whole description is redundant anyway.
2017-08-29 00:22:11 +02:00
Alexander Neumann
22e96a37f8
Merge pull request #1184 from prattmic/docs
...
Doc cleanup and mention restore include/exclude
2017-08-28 21:14:48 +02:00
Alexander Neumann
48b1ab5aaf
Merge pull request #1182 from restic/fix-1167
...
local: do not create dirs below data/ for non-existing dir
2017-08-28 21:13:24 +02:00
Alexander Neumann
0230fa188f
Add entry to CHANGELOG
2017-08-28 21:13:14 +02:00
Alexander Neumann
4118ce876e
Merge pull request #1185 from prattmic/gcs_panic
...
gs: fix nil dereference
2017-08-28 21:11:30 +02:00
Michael Pratt
9537bc561d
gs: fix nil dereference
...
info can be nil if err != nil, resulting in a nil dereference while
logging:
$ # GCS config
$ ./restic init
debug enabled
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x935947]
goroutine 1 [running]:
github.com/restic/restic/internal/backend/gs.(*Backend).Save(0xc420012690, 0xe84e80, 0xc420010448, 0xb57149, 0x3, 0xc4203fc140, 0x40, 0xe7be40, 0xc4201d8f90, 0xa0, ...)
src/github.com/restic/restic/internal/backend/gs/gs.go:226 +0x6d7
github.com/restic/restic/internal/repository.AddKey(0xe84e80, 0xc420010448, 0xc4202f0360, 0xc42000a1b0, 0x4, 0x0, 0xa55b60, 0xc4203043e0, 0xa55420)
src/github.com/restic/restic/internal/repository/key.go:235 +0x4a1
github.com/restic/restic/internal/repository.createMasterKey(0xc4202f0360, 0xc42000a1b0, 0x4, 0xa55420, 0xc420304370, 0x6a6070)
src/github.com/restic/restic/internal/repository/key.go:62 +0x60
github.com/restic/restic/internal/repository.(*Repository).init(0xc4202f0360, 0xe84e80, 0xc420010448, 0xc42000a1b0, 0x4, 0x1, 0xc42030a440, 0x40, 0x32a4573d3d9eb5, 0x0, ...)
src/github.com/restic/restic/internal/repository/repository.go:403 +0x5d
github.com/restic/restic/internal/repository.(*Repository).Init(0xc4202f0360, 0xe84e80, 0xc420010448, 0xc42000a1b0, 0x4, 0xe84e40, 0xc42004ad80)
src/github.com/restic/restic/internal/repository/repository.go:397 +0x12c
main.runInit(0xc420018072, 0x16, 0x0, 0x0, 0x0, 0xe84e40, 0xc42004ad80, 0xc42000a1b0, 0x4, 0xe7dac0, ...)
src/github.com/restic/restic/cmd/restic/cmd_init.go:47 +0x2a4
main.glob..func9(0xeb5000, 0xedad70, 0x0, 0x0, 0x0, 0x0)
src/github.com/restic/restic/cmd/restic/cmd_init.go:20 +0x8e
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute(0xeb5000, 0xedad70, 0x0, 0x0, 0xeb5000, 0xedad70)
src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:649 +0x457
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xeb3e00, 0xc420011650, 0xa55b60, 0xc420011660)
src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:728 +0x339
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute(0xeb3e00, 0x25, 0xc4201a7eb8)
src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:687 +0x2b
main.main()
src/github.com/restic/restic/cmd/restic/main.go:72 +0x268
(The error was likely because I had just enabled the GCS API. Subsequent
runs were fine.)
2017-08-27 21:36:04 -07:00
Michael Pratt
ae43c47ca8
doc: add mention of restore --exclude/--include
...
There is a lot more detail that could be added here, but it is worth
getting things off the ground with at least a mention that it is
possible to restore individual files.
Updates #396
2017-08-27 18:36:00 -07:00
Michael Pratt
2fa4060991
doc: fix inconsistencies
...
* Replace references to ~/shared/work/web which should be ~/web.
* Replace references to ~/tmp which should be /tmp.
* Restore /home/art to /tmp/restore-art instead of /tmp/restore-work,
which is clearly a copy/paste from the command above.
2017-08-27 18:35:01 -07:00
Alexander Neumann
f9a934759f
sftp: Improve error handling for non-existing dir
2017-08-27 20:53:04 +02:00
Alexander Neumann
3686b1ffe5
local: Create directories below data/ if it exists
2017-08-27 20:52:58 +02:00
Alexander Neumann
ea017a49c3
local: Add test for #1167
...
It was discovered that restic creates directories when a non-existing
directory is specified as a local repository.
2017-08-27 20:38:46 +02:00
Alexander Neumann
3559f9c776
Merge pull request #1174 from pwaring/patch-1
...
Update minimum Go version
2017-08-25 21:26:13 +02:00
Paul Waring
637f57ca71
Update minimum Go version
...
Minimum version is now 1.8 according to build.go (from latest master, cloned a few minutes ago):
```
paul@voga:~/third-dev/restic$ go run build.go
Go version go1.7.4 detected, restic requires at least Go 1.8
exit status 1
```
2017-08-24 19:51:11 +01:00
Alexander Neumann
4e60156b45
Add entry to CHANGELOG
2017-08-18 19:50:32 +02:00
Alexander Neumann
af9946b098
Merge pull request #1164 from ricardoseriani/fix-key-remove-command
...
Change key rm command to key remove
2017-08-18 19:49:50 +02:00
Ricardo Seriani
b7d4b0f821
Update man pages
2017-08-17 16:44:28 -03:00
Ricardo Seriani
62ed776a8c
Change key rm command to key remove
...
Change key rm command to key remove, to follow manual and other commands
2017-08-17 11:03:26 -03:00
Loic Nageleisen
f880ff21aa
Fixing restore with excluded
...
An exclude filter is basically a 'wildcard but foo', so even if a
childMayMatch, other children of a dir may not, therefore childMayMatch
does not matter, but we should not go down unless the dir is selected
for restore.
2017-08-16 15:25:02 +02:00
Loic Nageleisen
4a36993c19
Smarter filter when children won't match
...
This improves restore performance by several orders of magniture by not
going through the whole tree recursively when we can anticipate that no
match will ever occur.
2017-08-16 15:25:02 +02:00
Alexander Neumann
d87b2f189d
Merge pull request #1157 from ceh/defer-file-close-after-err-check
...
internal: check error before deferring file Close()
2017-08-13 19:50:05 +02:00
Alexander Neumann
f9a097a8c0
Merge pull request #1158 from ceh/fix-contributing-typo
...
Fix contribution typo
2017-08-13 19:49:03 +02:00
Alexander Neumann
d43358b6dd
Correct URL to forum
2017-08-13 19:47:54 +02:00
Alexander Neumann
8058f196e1
Merge pull request #1156 from dimejo/patch-1
...
Readme: Correct link formatting
2017-08-13 19:47:31 +02:00
Emil Hessman
e13e6f34d2
Fix contribution typo
2017-08-13 19:35:53 +02:00
Emil Hessman
c2ff7150aa
internal: check error before deferring file Close()
...
If there is an error, file will be `nil`. We should check the returned error before deferring file `Close()`.
2017-08-13 19:28:13 +02:00
dimejo
a899621930
Readme: Correct link formatting
2017-08-13 15:07:40 +02:00
Alexander Neumann
a0966e1d1d
Update README
2017-08-11 21:38:18 +02:00
Alexander Neumann
e2464382ed
Update issue template
2017-08-11 21:36:10 +02:00
Alexander Neumann
095bc79dc3
Correct README #2
2017-08-09 21:58:20 +02:00
Alexander Neumann
1fd3c2488e
Correct README
2017-08-09 21:57:55 +02:00
Alexander Neumann
2ee8485886
Update README
2017-08-09 21:56:41 +02:00
Alexander Neumann
b67c178672
Merge pull request #1149 from restic/azure-support
...
Add Azure blob storage as backend
2017-08-09 21:30:35 +02:00
Alexander Neumann
7ac4f0a525
Merge pull request #1134 from restic/gcs-support
...
Add backend for Google Cloud Storage (GCS)
2017-08-09 21:28:36 +02:00
Alexander Neumann
c4613c51d1
Add note about Go 1.8
2017-08-09 20:33:30 +02:00
Alexander Neumann
77bf17076b
Add entry to CHANGELOG
2017-08-09 20:23:29 +02:00
Alexander Neumann
8dd6beba15
gs: Add section to the manual
2017-08-09 20:22:07 +02:00
Alexander Neumann
a345386967
Add a section to the CHANGELOG
2017-08-09 20:15:08 +02:00
Alexander Neumann
bdd43bd430
Add a section to the manual
2017-08-09 20:13:34 +02:00
Alexander Neumann
1716501598
CI: Make sure the GCS backend tests run on Travis
2017-08-06 21:47:56 +02:00
Alexander Neumann
d9a5b9178e
gs: Rework path initialization
2017-08-06 21:47:56 +02:00
Alexander Neumann
8ca6a9a240
Vendor dependencies for GCS
2017-08-06 21:47:56 +02:00
Dipta Das
ba75a3884c
Add Google Cloud Storage as backend
...
Environment variables:
GOOGLE_PROJECT_ID=gcp-project-id
GOOGLE_APPLICATION_CREDENTIALS=path-to-json-file
Environment variables for test:
RESTIC_TEST_GS_PROJECT_ID=gcp-project-id
RESTIC_TEST_GS_APPLICATION_CREDENTIALS=path-to-json-file
RESTIC_TEST_GS_REPOSITORY=gs:us-central1/test-bucket
Init repository:
$ restic -r gs🪣 /[prefix] init
2017-08-06 21:47:55 +02:00
Alexander Neumann
d91d89eef6
azure: Create container if it does not exist
2017-08-06 21:47:04 +02:00
Alexander Neumann
a726c91116
azure: Rework path initialization
2017-08-06 21:47:04 +02:00
Alexander Neumann
d00fe95f10
Upgrade min Go version to 1.8
2017-08-06 21:47:04 +02:00
Alexander Neumann
072b7a014e
azure: User internal errors package
2017-08-06 21:47:04 +02:00
Alexander Neumann
618ce115d7
Azure: Use default HTTP transport
2017-08-06 21:47:04 +02:00
Alexander Neumann
d973aa82fe
Vendor dependencies for azure backend
2017-08-06 21:47:04 +02:00
Dipta Das
3a85b6b7c6
Add Azure Blob Storage as backend
...
Environment variables:
AZURE_ACCOUNT_NAME=storage-account-name
AZURE_ACCOUNT_KEY=storage-account-key
Environment variables for test:
RESTIC_TEST_AZURE_ACCOUNT_NAME=storage-account-name
RESTIC_TEST_AZURE_ACCOUNT_KEY=storage-account-key
RESTIC_TEST_AZURE_REPOSITORY=azure:restic-test-container
Init repository:
$ restic -r azure:container-name:/prefix/dir init
2017-08-06 21:47:04 +02:00
Alexander Neumann
2c22ff175c
Merge pull request #1150 from restic/removed-date-from-manpage
...
Fix manpage generation
2017-08-06 21:46:44 +02:00
Alexander Neumann
6bc43a4198
manpage: Remove auto gen tag from man page
2017-08-06 21:31:01 +02:00
Alexander Neumann
e348b3deeb
manpage: Do not panic when no command is given
2017-08-06 21:01:49 +02:00
Alexander Neumann
6724b9a583
Merge pull request #1148 from restic/update-simple-scrypt
...
Lock simple-scrypt library to master branch
2017-08-05 20:04:33 +02:00
Alexander Neumann
41c35b2218
Lock simple-scrypt library to master branch
...
The master branch includes a fix for i386, otherwise the calibration
panics. See https://github.com/restic/restic/issues/676 for details.
2017-08-05 19:24:56 +02:00
Alexander Neumann
4477d76f03
Merge pull request #1147 from restic/add-manpage
...
Add new command 'manpage'
2017-08-05 12:39:42 +02:00
Alexander Neumann
14f5f6235a
Add entry to CHANGELOG
2017-08-05 12:05:53 +02:00
Alexander Neumann
739350fd8e
backup: Do not print hostname in help text
...
This is necessary so that the manpage generation is deterministic and we
can test if the man pages are up to date when the CI tests run.
2017-08-05 12:05:53 +02:00
Alexander Neumann
14ed97102b
Add instructions for developers
2017-08-05 12:05:53 +02:00
Alexander Neumann
db389058fa
Add generated manual pages
2017-08-05 12:05:53 +02:00
Alexander Neumann
b557d04007
CI: Fix test for forbidden packages
2017-08-05 12:05:53 +02:00
Alexander Neumann
52c5da997b
Add CI test for manpages
2017-08-05 12:05:53 +02:00
Alexander Neumann
57d198f99a
Vendor dependencies for manpage generation
2017-08-05 11:08:49 +02:00
Alexander Neumann
a3ab17b470
Add 'manpage' command to generate manual pages
2017-08-05 10:57:01 +02:00
Alexander Neumann
9bf3141893
Add entry to CHANGELOG
2017-08-01 22:02:08 +02:00
Alexander Neumann
d35eb6a0c3
Merge pull request #1144 from wjkohnen/close-exclude-files
...
Close exclude files and check errors
2017-08-01 22:01:43 +02:00
Johannes Kohnen
37aad2e3aa
Close exclude files and check errors
2017-08-01 17:34:27 +00:00
Alexander Neumann
efc5d0699a
Merge pull request #1139 from donat-b/pwfile-doesnt-exist
...
Error message in case PasswordFile is missing
2017-07-27 15:41:50 +02:00
donat
893bc9f777
Error message in case PasswordFile is missing
2017-07-27 14:23:08 +03:00
Alexander Neumann
61b8729ef9
Merge pull request #1138 from stapelberg/patch-1
...
fix typo: explicitely → explicitly
2017-07-27 09:01:47 +02:00
Michael Stapelberg
b89d3cc4d0
fix typo: explicitely → explicitly
2017-07-27 08:24:53 +02:00
Alexander Neumann
e8cc11ea34
Add entry to CHANGELOG
2017-07-26 22:29:39 +02:00
Alexander Neumann
2e804511ca
Merge pull request #1133 from middelink/fix-1132
...
Force restic to ask the password when adding a key.
2017-07-26 22:11:37 +02:00
Alexander Neumann
b6790c491b
Merge pull request #1131 from restic/test-cleanups
...
Rework withTestEnvironment
2017-07-26 22:06:06 +02:00
Pauline Middelink
c95e2b009e
Simpify cmd_backup and cmd_init now we have the password in gopts.
2017-07-24 23:32:55 +02:00
Pauline Middelink
d5615a67c8
Refactor password resolving.
...
Instead of determining the password lazily during ReadPassword(), do so now in
cobra.PersistentPreRunE() so we can store the result in the globalOptions and
reuse/override when applicable without having to worry about the environment
or flag options interfering.
2017-07-24 23:05:37 +02:00
Pauline Middelink
d9b9bbd4a8
Force restic to ask the password when adding a key.
...
As `restic key add` uses the same `ReadPasswordTwice()` as the
rest of restic, it is sensitive to the environment variable
RESTIC_PASSWORD or --password-file= override.
When asking for the new key, temporary remove these 2 overrides, forcing
the password to be asked.
2017-07-24 22:00:44 +02:00
Alexander Neumann
d780b1eede
Rework withTestEnvironment
...
Switch from a function passed as a parameter to a cleanup function,
which is also executed when the test function panics, so no temporary
directories are left behind.
2017-07-24 21:32:34 +02:00
Alexander Neumann
608adf15a3
Merge pull request #1130 from middelink/fix-fuse-test
...
Fuse testing leaves test mountpoint around.
2017-07-24 21:26:05 +02:00
Pauline Middelink
1717391f6c
Fuse testing leaves test mountpoint around. Move it under the testing tree which is removed after each test.
2017-07-24 20:33:39 +02:00
Alexander Neumann
2e6e9ff6f8
Merge pull request #1129 from restic/move-restic-pkg
...
Move restic package to internal/restic
2017-07-24 19:19:28 +02:00
Alexander Neumann
23c903074c
Move restic package to internal/restic
2017-07-24 17:43:32 +02:00
Alexander Neumann
94030a12cf
Add entry to CHANGELOG
2017-07-23 16:54:56 +02:00
Alexander Neumann
f63d7de9da
Merge pull request #1126 from restic/switch-to-default-go-git-layout
...
Use idiomatic default Go git repo layout
2017-07-23 16:54:53 +02:00
Alexander Neumann
13ee6792df
Add remark about GOPATH on forked repos
2017-07-23 16:36:13 +02:00
Alexander Neumann
6302444f34
Remove linebreak from Errorf() format string
2017-07-23 15:51:44 +02:00
Alexander Neumann
61c5e4b54a
Fix glyphcheck
2017-07-23 15:51:39 +02:00
Alexander Neumann
d6118871be
Update other files
2017-07-23 14:40:05 +02:00
Alexander Neumann
94b27e8933
Fix paths for tests
2017-07-23 14:39:57 +02:00
Alexander Neumann
05500dc5f8
Update documentation
2017-07-23 14:32:31 +02:00
Alexander Neumann
c5a72971fe
Remove Vagrantfile
2017-07-23 14:30:33 +02:00
Alexander Neumann
5bc6486e3b
Update docs
2017-07-23 14:25:39 +02:00
Alexander Neumann
59e18bce0a
Fix build.go
2017-07-23 14:25:39 +02:00
Alexander Neumann
898c5b6df5
Fix integration tests
2017-07-23 14:25:39 +02:00
Alexander Neumann
9cd422791a
Update build.go
2017-07-23 14:25:38 +02:00
Alexander Neumann
91edebf1fe
Vendor dependencies with dep
2017-07-23 14:25:38 +02:00
Alexander Neumann
df8a5792f1
Remove Dockerfile
2017-07-23 14:25:38 +02:00
Alexander Neumann
cda7b417cd
Remove envrc
2017-07-23 14:25:38 +02:00
Alexander Neumann
d2ac35af26
Remove vendor
2017-07-23 14:25:37 +02:00
Alexander Neumann
6caeff2408
Run goimports
2017-07-23 14:21:03 +02:00
Alexander Neumann
83d1a46526
Moves files
2017-07-23 14:19:13 +02:00
Alexander Neumann
d1bd160b0a
Merge pull request #1061 from bclermont/docker-image
...
add docker image
2017-07-22 11:52:22 +02:00
Alexander Neumann
bc88a8bb03
Add entry to CHANGELOG
2017-07-22 11:52:16 +02:00
Alexander Neumann
04cfb984ae
Add VERSION file for 0.7.1
2017-07-22 11:04:32 +02:00
Alexander Neumann
02a245941a
Adapt CHANGELOG for 0.7.1
2017-07-22 11:03:44 +02:00
Alexander Neumann
7fb1352aa1
Merge pull request #1124 from restic/use-minio-300
...
Set minio-go to v3.0.0
2017-07-22 11:01:57 +02:00
Alexander Neumann
4c555bad2e
Set minio-go to v3.0.0
2017-07-22 10:19:52 +02:00
Alexander Neumann
75c789bab4
Merge pull request #1122 from restic/swift-remove-range-test
...
swift: Remove check for byte range
2017-07-21 23:05:05 +02:00
Alexander Neumann
626d020e62
swift: Remove check for byte range
...
Closes #1084
Closes #1094
2017-07-21 20:45:25 +02:00
Alexander Neumann
3830117735
Merge pull request #1121 from restic/fix-swift-test
...
swift: Increase backend test delay for removed file
2017-07-21 20:37:10 +02:00
Alexander Neumann
042cee8e36
Merge pull request #1117 from donat-b/password-file-env
...
Set default value for password-file flag from env
2017-07-21 19:47:49 +02:00
Alexander Neumann
03cc5b47e9
appveyor: Update Go version to 1.8.3
2017-07-21 19:42:34 +02:00
Alexander Neumann
46fa45942e
swift: Increase backend test delay for removed file
2017-07-21 19:42:34 +02:00
Alexander Neumann
0cb4104aa7
Fix Go report card URLs (thanks @tyll)
2017-07-20 22:31:41 +02:00
donat
f2bbc5fbc4
Set default value for password-file flag from env
...
Allows defining password file path as RESTIC_PASSWORD_FILE=/foo
2017-07-20 10:47:02 +03:00
Alexander Neumann
16340ce811
Merge pull request #1090 from middelink/fix-1081
...
Update HasTags() and HasPaths() to follow #1081 feature request
2017-07-19 17:11:18 +02:00
Alexander Neumann
2cf8153f4a
Add entry to CHANGELOG
2017-07-19 17:09:02 +02:00
Alexander Neumann
2f00287e45
Merge pull request #1112 from restic/fix-chmod-not-supported
...
Ignore error for Chmod() on FS that don't support it
2017-07-19 17:05:18 +02:00
Alexander Neumann
0de17f64e9
Add entry to CHANGELOG
2017-07-19 17:02:53 +02:00
Alexander Neumann
c30838878f
Merge pull request #1115 from restic/fix-prune-index
...
prune: Fix newly created index
2017-07-19 17:01:11 +02:00
Alexander Neumann
bd31281f1e
prune: Fix newly created index
...
This fixes a bug introduced in c79fb6fcdd
where the index file after a prune contains pack files that do not exist
any more. Restic will detect this during backup and abort with an error
message until the user runs `prune` or `rebuild-index` again.
2017-07-18 23:10:30 +02:00
Alexander Neumann
7fc54ed98e
Improve test case for prune
2017-07-18 23:07:29 +02:00
Alexander Neumann
0abdcedcab
Ignore error for Chmod() on FS that don't support it
...
See #1079
2017-07-18 21:47:30 +02:00
Alexander Neumann
6c05353086
Add entry to CHANGELOG
2017-07-17 22:02:06 +02:00
Alexander Neumann
e7575bf380
Merge pull request #1108 from restic/update-deps
...
Update vendored deps
2017-07-17 22:01:52 +02:00
Alexander Neumann
89ace85903
s3: Use streaming API and remove workarounds
2017-07-17 20:43:53 +02:00
Alexander Neumann
68a91d66b7
s3: Use new API for CopyObject
2017-07-17 20:43:45 +02:00
Alexander Neumann
724b5bf4fe
Update minio-go
2017-07-17 20:19:04 +02:00
Alexander Neumann
d6da9211bc
Update vendored deps (except minio-go)
2017-07-17 20:00:44 +02:00
Alexander Neumann
f45abac27f
Merge pull request #1107 from bclermont/fix-s3-panic
...
Fix S3 panic on Invalid configuration
2017-07-17 18:50:46 +02:00
Bruno Clermont
00b9a1d87d
evaluate open error
2017-07-17 11:33:19 +03:00
Alexander Neumann
20b835b5a4
Improve help text
2017-07-16 21:41:13 +02:00
Alexander Neumann
7bb1a474df
Add entry to CHANGELOG
2017-07-16 21:41:13 +02:00
Alexander Neumann
750ee35dbf
Add more examples to the manual
2017-07-16 21:40:53 +02:00
Alexander Neumann
fda5e1f543
Adress code review comments
2017-07-16 21:40:53 +02:00
Alexander Neumann
78d090aea5
Implement TagList and TagLists as pflag.Value
2017-07-16 21:40:53 +02:00
Alexander Neumann
7362569cf5
Use TagLists for all commands
2017-07-16 21:40:53 +02:00
Alexander Neumann
f5b1c7e5f1
Add TagList
2017-07-16 21:40:53 +02:00
Pauline Middelink
c554cdac4c
Update HasTags() and HasPaths() to follow #1081 idea
...
Replace all but 3 occurences of StringSliceVar to StringArrayVar. This will
prevent the flag parser to interpretate the given values as CSV string.
Both --tag, --keep-tag and --path can be given multiple times, the command will
match snapshots matching ANY of the tags/paths. Only when a value is given which
contains a comma separated list of tags/paths, ALL elements need to match.
2017-07-16 21:40:53 +02:00
Alexander Neumann
41b624ea1b
Merge pull request #1105 from restic/improve-sftp-open
...
sftp: Improve check for data subdirs
2017-07-16 15:41:13 +02:00
Alexander Neumann
7cdcaadcf5
Add entry to CHANGELOG
2017-07-16 15:11:26 +02:00
Alexander Neumann
4ad33d3c3b
sftp: Improve check for data subdirs
2017-07-16 15:10:06 +02:00
Alexander Neumann
2778ac21de
Merge pull request #1103 from tobya/docsupdate
...
Update links to design.md to design.rst
2017-07-16 10:39:53 +02:00
Toby Allen
cb3cd57926
Update links to design.md to design.rst
2017-07-15 19:35:45 +01:00
Alexander Neumann
ba6815d413
Merge pull request #1100 from fawick/master
...
Allow absolute target path in build.go
2017-07-15 10:11:45 +02:00
Fabian Wickborn
52004cdde8
Allow absolute target path in build.go
...
Fixes #1099 .
2017-07-14 11:54:46 +02:00
Alexander Neumann
1d2045cb61
Test error for os.PathError
...
See https://github.com/restic/restic/issues/1079#issuecomment-315177469
for details.
2017-07-13 21:29:29 +02:00
Alexander Neumann
357e2e404a
Merge pull request #1080 from restic/fix-1079
...
local: Ignore ENOTSUP error for chmod
2017-07-13 20:12:47 +02:00
Alexander Neumann
38e5640cda
Add CHANGELOG entry
2017-07-09 21:43:05 +02:00
Alexander Neumann
c4c731bd9a
Merge pull request #1082 from Habbie/siginfo
...
support SIGINFO on Darwin
2017-07-09 21:41:29 +02:00
Alexander Neumann
04d27acd60
Add entry to CHANGELOG
2017-07-05 20:54:37 +02:00
Alexander Neumann
80f0303b21
Merge pull request #1086 from kamsz/iam
...
Add support for IAM instance profile
2017-07-05 20:53:31 +02:00
Kamil Szczygieł
d651d9b427
more verbose debug
2017-07-05 19:21:57 +02:00
Kamil Szczygieł
3b2648bd5e
iam instance profile
2017-07-05 16:19:25 +02:00
Peter van Dijk
73cc11f000
support SIGINFO on Darwin
2017-07-03 20:39:42 +02:00
Alexander Neumann
637de0149c
Add entry to CHANGELOG
2017-07-03 19:49:18 +02:00
Alexander Neumann
855575e5a7
Merge pull request #1077 from restic/create-subdirs
...
local/sftp: Auto-create subdirs of data/ on init/open
2017-07-03 19:47:58 +02:00
Alexander Neumann
ed2999a163
Merge pull request #1075 from restic/migrate-s3-continue
...
s3: Improve migration to new layout
2017-07-03 19:47:22 +02:00
Alexander Neumann
a18c16e19e
local: Ignore ENOTSUP error for chmod
...
Closes : #1079
2017-07-03 19:45:56 +02:00
Alexander Neumann
9032ab2eec
local/sftp: Create dirs on open()
2017-07-02 19:35:45 +02:00
Alexander Neumann
03f66b8d74
Create subdirs below data/
2017-07-02 19:35:45 +02:00
Alexander Neumann
8c30ae7c65
Add entry to CHANGELOG
2017-07-02 11:21:05 +02:00
Alexander Neumann
453c9c9199
s3 migrate layout: Retry on errors
2017-07-02 11:15:20 +02:00
Alexander Neumann
993e370f92
s3 migrate layout: Ignore already renamed files
2017-07-02 10:47:50 +02:00
Alexander Neumann
2bcd3a3acc
s3 migrate layout: Rename key files last
2017-07-02 10:47:20 +02:00
Alexander Neumann
c54c632ca1
s3 migrate layout: Force old layout for rename
2017-07-02 10:47:03 +02:00
Alexander Neumann
28a4a35625
Allow migrate to run althoug check failed
2017-07-02 10:29:41 +02:00
Alexander Neumann
e7577d7bb4
Add stub to CHANGELOG
2017-07-01 15:11:36 +02:00
Alexander Neumann
27ea0623d7
Add VERSION file for 0.7.0
2017-07-01 14:12:07 +02:00
Alexander Neumann
390e2bbddc
Merge pull request #1070 from restic/warn-unsupported-repo-type
...
Return an error for invalid backend schemes
2017-06-30 22:15:17 +02:00
Alexander Neumann
b50fc08f39
Add entry to CHANGELOG
2017-06-30 22:15:00 +02:00
Alexander Neumann
b2ce7e8d84
Return an error for invalid backend schemes
...
Closes #1021
2017-06-30 21:28:39 +02:00
Alexander Neumann
2b1c6d3cf8
Merge pull request #1066 from restic/update-minio-go
...
Update minio-go
2017-06-30 20:40:43 +02:00
Alexander Neumann
c658305a1b
Correct path for rest-server
2017-06-27 21:19:48 +02:00
Alexander Neumann
63235d8f94
Update minio-go
2017-06-26 22:06:57 +02:00
Bruno Clermont
d702227af0
install fuse and ca-certificates
2017-06-23 10:38:19 +02:00
Bruno Clermont
b7251dbea5
add docker image
2017-06-23 10:28:18 +02:00
Alexander Neumann
144b7f3386
doc: Correct path in manual
2017-06-22 19:54:55 +02:00
Alexander Neumann
9583dc820f
Merge pull request #1051 from restic/refactor-crypto
...
crypto: Make Encrypt/Decrypt a method of *Key
2017-06-21 19:26:11 +02:00
Alexander Neumann
a03076f2d8
Merge pull request #1056 from restic/fix-1053
...
prune: Delete invalid/incomplete pack files
2017-06-21 19:25:55 +02:00
Alexander Neumann
d76fa22b4b
prune: Delete invalid/incomplete pack files
...
Closes #1053
2017-06-20 22:53:49 +02:00
Alexander Neumann
f960831f10
crypto: Make Encrypt/Decrypt a method of *Key
2017-06-20 22:14:51 +02:00
Alexander Neumann
b0fb95dfc9
backend tests: Use delayedRemove()
2017-06-19 20:02:49 +02:00
Alexander Neumann
bca9566849
Merge pull request #1050 from restic/extend-fuse-mount
...
fuse: Add more directories
2017-06-19 19:52:45 +02:00
Alexander Neumann
8760de42fe
Merge pull request #1046 from restic/s3-split-open
...
s3: Split Create() from Open()
2017-06-19 19:52:40 +02:00
Alexander Neumann
2c02efd1fe
fuse: Reduce code duplication, add MetaDir
2017-06-18 21:32:07 +02:00
Alexander Neumann
4b4a63ed44
fuse: Add tags dir
2017-06-18 21:32:07 +02:00
Alexander Neumann
64f434eca4
fuse: Add hosts dir
2017-06-18 21:32:07 +02:00
Alexander Neumann
f4e85a53e7
fuse: Add '.' and '..' entries to all directories
2017-06-18 21:32:07 +02:00
Alexander Neumann
f8176a74ec
fuse: Rename DirSnapshots -> SnapshotsDir
2017-06-18 21:32:07 +02:00
Alexander Neumann
e60a96a71a
swift: Increase delete timeout to 20s
2017-06-18 21:31:48 +02:00
Alexander Neumann
216e2607ca
Add entry to CHANGELOG
2017-06-18 21:18:11 +02:00
Alexander Neumann
53f8026018
Merge pull request #1048 from restic/cleanup-fuse-mount
...
Cleanup/fix fuse mount
2017-06-18 18:41:02 +02:00
Alexander Neumann
de92ce7a88
Merge pull request #1049 from restic/fix-backend-tests-delayed-remove
...
backend tests: Add configurable delay for delayed remove
2017-06-18 18:31:38 +02:00
Alexander Neumann
eb8041b943
backend tests: Add configurable delay for delayed remove
2017-06-18 17:36:57 +02:00
Alexander Neumann
9c6e9bcf33
fuse: Add build tags for unsupported OS
2017-06-18 17:02:07 +02:00
Alexander Neumann
154816ffd0
fuse: Fix file test
2017-06-18 16:29:00 +02:00
Alexander Neumann
c86e425df6
fuse: Fix file inode
2017-06-18 16:28:55 +02:00
Alexander Neumann
3883c7a190
fuse: Fix blob length cache
2017-06-18 16:28:39 +02:00
Alexander Neumann
a66760d86d
fuse: Fix inode handling
2017-06-18 15:11:32 +02:00
Alexander Neumann
52752659c1
fuse: Rewrite fuse implementation
2017-06-18 14:59:44 +02:00
Alexander Neumann
f676c0c41b
index: Add Each() to MasterIndex
2017-06-18 14:52:14 +02:00
Alexander Neumann
f31e993f09
fuse: Reenable integration tests
2017-06-18 14:23:35 +02:00
Alexander Neumann
56f610e548
fuse: Remove struct SnapshotWithId
2017-06-18 14:11:33 +02:00
Alexander Neumann
052a6a0acc
Move snapshot filter function to restic package
2017-06-18 13:18:12 +02:00
Alexander Neumann
77037e33c9
Move snapshot finding functions to new file
2017-06-18 13:06:52 +02:00
Alexander Neumann
5a34799554
Move Snapshots struct and policy to other files
2017-06-18 13:05:47 +02:00
Alexander Neumann
47282abfa4
fuse: Use Mutex instead of RWMutex
2017-06-17 23:00:38 +02:00
Alexander Neumann
c9cc724b31
s3: Split Create() from Open()
2017-06-17 22:15:58 +02:00
Alexander Neumann
0d3674245b
Merge pull request #1043 from restic/fix-gcs
...
s3: Fix GCS
2017-06-17 10:35:10 +02:00
Alexander Neumann
82b21cdf4a
Merge pull request #1027 from restic/s3-set-retry
...
s3: Allow setting the number of retries for minio-go
2017-06-17 10:34:36 +02:00
Alexander Neumann
c4592f577a
Merge pull request #1036 from restic/prune-remove-invalid-files
...
prune: Remove invalid files
2017-06-16 22:52:44 +02:00
Alexander Neumann
3cd851e578
Update github.com/minio/minio-go
2017-06-16 22:29:40 +02:00
Alexander Neumann
e074833a7d
Merge pull request #1045 from restic/prune-fix-progress
...
prune: Fix progress information
2017-06-16 20:21:55 +02:00
Alexander Neumann
c5f1a83cb4
prune: Fix progress information
2017-06-16 19:03:26 +02:00
Alexander Neumann
1baaa778ee
Add entry to CHANGELOG
2017-06-16 12:27:44 +02:00
Alexander Neumann
6a948d5afd
s3: Fix backend for Google Cloud Storage
2017-06-16 11:25:06 +02:00
Alexander Neumann
ea66ae0811
s3: Fix IsNotExist()
2017-06-16 10:54:46 +02:00
Alexander Neumann
bf8a155fb1
Update github.com/minio/minio-go
2017-06-16 10:53:38 +02:00
Alexander Neumann
4ae59bef96
prune: Remove invalid files
...
Closes #1029
2017-06-15 20:56:22 +02:00
Alexander Neumann
eadf5dcb2d
Merge pull request #1038 from restic/s3-prevent-close
...
Improve GCS support
2017-06-15 20:54:52 +02:00
Alexander Neumann
91a24e8229
Merge pull request #1035 from restic/fix-1032
...
prune: Remove files as the last step
2017-06-15 20:22:42 +02:00
Alexander Neumann
e3c979a7a4
Merge pull request #1034 from restic/fix-1030
...
prune: Fix status string for narrow terminals
2017-06-15 20:22:33 +02:00
Alexander Neumann
05365706c0
backend/tests: Correct error message and delayed remove
2017-06-15 20:05:35 +02:00
Alexander Neumann
bbca31b661
test/s3: Retry connection to Minio server
2017-06-15 19:51:55 +02:00
Alexander Neumann
eb7fc12e01
backend tests: Delay listing for swift backend
2017-06-15 19:41:07 +02:00
Alexander Neumann
98ae7b1210
s3: Save config in backend
2017-06-15 16:41:09 +02:00
Alexander Neumann
51877cecf7
s3: Prevent closing of the reader for GCS
2017-06-15 16:39:42 +02:00
Alexander Neumann
9053b2000b
s3: Delete ignores error if the object doesn't exist
2017-06-15 16:27:19 +02:00
Alexander Neumann
dd6ce5f9d8
Remove backend.Closer, use ioutil.NopCloser() instead
2017-06-15 15:58:23 +02:00
Alexander Neumann
9a8301fc74
prune: Fix status string for narrow terminals
...
Closes #1030
2017-06-15 15:41:07 +02:00
Alexander Neumann
aabe2a0a30
Merge pull request #1002 from restic/test-codecov
...
Remove codecov config file
2017-06-15 15:09:50 +02:00
Alexander Neumann
c79fb6fcdd
prune: Delete repacked files as the very last step
2017-06-15 14:46:50 +02:00
Alexander Neumann
af9ba3be91
backend: Add IsNotExist
2017-06-15 13:40:27 +02:00
Alexander Neumann
6f24d038f8
prune: Only remove data after index has been uploaded
...
Closes #1032
2017-06-15 13:12:46 +02:00
Alexander Neumann
cf65893c4b
s3: Allow setting the number of retries for minio-go
...
https://github.com/restic/restic/issues/1013#issuecomment-307883970
2017-06-12 21:09:37 +02:00
Alexander Neumann
bd7d5a429f
Merge pull request #1025 from restic/fix-1013
...
s3: Switch back to high-level API for upload
2017-06-12 19:58:12 +02:00
Alexander Neumann
7b54f6e642
Add entry to CHANGELOG
2017-06-12 19:56:50 +02:00
Alexander Neumann
422c0dfb5e
s3: Exit test loop for minio server on success
2017-06-11 20:49:56 +02:00
Alexander Neumann
73b296918b
s3: Reorder debug messages
...
This way the semaphore token acquisition can be observed in the debug
log.
2017-06-11 20:49:53 +02:00
Alexander Neumann
907c201693
debug: Add version number to debug log
2017-06-11 20:48:46 +02:00
Alexander Neumann
58de8bf392
swift/rest: Reduce number of connections
2017-06-11 20:48:46 +02:00
Alexander Neumann
a89a7a783a
s3: Correct comment on the connections option
2017-06-11 20:48:46 +02:00
Alexander Neumann
c422010597
s3: Fix test
2017-06-11 20:48:46 +02:00
Alexander Neumann
08e1d9ffad
s3: Switch back to high-level API, limit connections
2017-06-11 20:48:42 +02:00
Alexander Neumann
a4e8dc3371
s3: Improve error message in debug log
2017-06-11 11:22:25 +02:00
Alexander Neumann
19da56a6ea
debug: Add log before panic()
2017-06-11 11:22:25 +02:00
Alexander Neumann
d3c06c39f9
debug: Fix EOF detection in HTTP transport
2017-06-11 11:22:25 +02:00
Alexander Neumann
6301620428
s3: Add more debug logs
2017-06-11 11:22:25 +02:00
Alexander Neumann
a6f157f346
Merge pull request #1024 from restic/remove-unused
...
Remove unused code/variables
2017-06-11 11:18:02 +02:00
Alexander Neumann
8d4417ec92
Remove unused code/variables
2017-06-11 09:29:53 +02:00
Alexander Neumann
0b55be2581
prune: Fix debug log
2017-06-10 22:16:42 +02:00
Alexander Neumann
88a59fd0ca
options: Handle uint
2017-06-10 21:07:10 +02:00
Alexander Neumann
539674614b
Merge pull request #1019 from restic/fix-1017
...
ls: Print names with percent correctly
2017-06-10 12:43:46 +02:00
Alexander Neumann
9d1b9157d4
ls: Print names with percent correctly
...
Closes #1017
2017-06-10 12:17:21 +02:00
Alexander Neumann
5f449045d2
Merge pull request #1003 from fwilhe/contributing-md-link
...
Fix relative link to CONTRIBUTING.md
2017-06-09 20:56:21 +02:00
Alexander Neumann
3e4d236751
Merge pull request #1010 from restic/update-minio-go
...
Update github.com/minio/minio-go
2017-06-09 20:55:49 +02:00
Alexander Neumann
4fe6593fbe
Merge pull request #1011 from restic/fix-1009
...
pack: Handle small files
2017-06-09 20:53:52 +02:00
Florian Wilhelm
635633379a
Fix link to CONTRIBUTING.md
2017-06-09 00:36:31 +02:00
Alexander Neumann
48fecd791d
pack: Handle more invalid header cases
2017-06-08 21:04:07 +02:00
Alexander Neumann
a325a20fb4
s3: Increase wait time for minio server
2017-06-08 20:50:56 +02:00
Alexander Neumann
1f0916b01b
Merge pull request #1004 from restic/add-migrate-s3
...
Add 'migrate' command, change s3 layout
2017-06-08 20:48:27 +02:00
Alexander Neumann
eb767ab15f
pack: Handle small files
2017-06-08 20:40:12 +02:00
Alexander Neumann
92c0aa3854
Merge pull request #998 from restic/fix-820
...
fuse: Add cache for blob sizes
2017-06-08 20:21:26 +02:00
Alexander Neumann
a61016cb55
Update github.com/minio/minio-go
2017-06-08 19:40:06 +02:00
Alexander Neumann
eb7ddd6e11
Add entry to CHANGELOG
2017-06-08 19:21:52 +02:00
Alexander Neumann
ff3d2e42f4
migrate: Be a bit more verbose
2017-06-08 19:19:45 +02:00
Alexander Neumann
1aab123b6c
Merge pull request #1008 from chaquotay/patch-1
...
Fixing tiny typo
2017-06-08 19:04:14 +02:00
Stephan Müller
d11f8d294f
Fixing tiny typo
2017-06-08 13:27:22 +02:00
Alexander Neumann
04ded881f6
s3: Change the default layout to "default"
2017-06-07 23:08:20 +02:00
Alexander Neumann
4f9bf5312b
Add migrate
...
This commits adds a 'migrate' command and a migration to move s3
repositories from the 's3legacy' to the 'default' layout.
2017-06-07 23:08:02 +02:00
Alexander Neumann
7cf8f59987
layout: Add String() and Name()
2017-06-07 21:59:41 +02:00
Alexander Neumann
b8b5c8e8c9
s3: Rename struct to Backend
2017-06-07 21:59:01 +02:00
Alexander Neumann
a46baf7685
s3: Remove cache
2017-06-07 20:51:45 +02:00
Alexander Neumann
f2a51aa37c
Add entry to CHANGELOG
2017-06-07 20:51:08 +02:00
Alexander Neumann
233eaf8ee9
fuse: Improve semantics of the blob size cache
...
Wrap it in a struct and add a Lookup() function to make clear that it
is only queried, not changed, so we don't have any race conditions.
2017-06-07 20:04:58 +02:00
Alexander Neumann
067be2c551
fuse: Add cache for blob sizes
...
Closes : #820
2017-06-07 20:04:15 +02:00
Alexander Neumann
550e1feaec
Merge pull request #999 from restic/backend-use-semaphore
...
backends: Use new semaphore
2017-06-07 19:48:32 +02:00
Alexander Neumann
f90ce23f30
Merge pull request #994 from restic/add-context
...
Add context.Context to the backend
2017-06-07 19:11:56 +02:00
Alexander Neumann
29f8f8fe68
Update github.com/kurin/blazer
...
Reduces cost-intensive list_files API calls.
2017-06-07 19:10:05 +02:00
Alexander Neumann
48c1e7b00d
Fix location tests
2017-06-06 21:12:38 +02:00
Alexander Neumann
2175ccedd2
Remove codecov config file
2017-06-06 21:02:19 +02:00
Alexander Neumann
d4e74f20aa
Add context to dump command
2017-06-06 00:37:25 +02:00
Alexander Neumann
aa5bc39311
swift: Use semaphore
2017-06-06 00:33:25 +02:00
Alexander Neumann
46049b4236
rest: Use semaphore
2017-06-06 00:26:29 +02:00
Alexander Neumann
683ebef6c6
s3: Use semaphore
2017-06-06 00:17:39 +02:00
Alexander Neumann
5010e95c23
Add error handling to semaphore
2017-06-06 00:17:21 +02:00
Alexander Neumann
46b7a270a6
Add context parameters to tests
2017-06-05 23:56:59 +02:00
Alexander Neumann
cf497c2728
Add context to restic packages
2017-06-04 14:35:14 +02:00
Alexander Neumann
16fcd07110
Add a Context to the backend
2017-06-04 14:02:44 +02:00
Alexander Neumann
a9a2798910
Merge pull request #993 from restic/improve-search-performance
...
Improve find
2017-06-04 12:44:29 +02:00
Alexander Neumann
9cd664caa3
Add entry to CHANGELOG
2017-06-04 11:50:38 +02:00
Alexander Neumann
a90e0c6595
find: Check trees only once
2017-06-04 11:42:40 +02:00
Alexander Neumann
7b5efaf7b0
find: Move functions to struct
2017-06-04 11:38:46 +02:00
Alexander Neumann
3b7ca4ac35
find: Improve debug log
2017-06-04 11:22:56 +02:00
Alexander Neumann
40a61b82ce
Merge pull request #978 from restic/add-backblaze-backend
...
Add Backblaze B2 backend
2017-06-03 14:54:04 +02:00
Alexander Neumann
028f43299a
Merge pull request #975 from restic/add-swift-backend
...
Add swift backend
2017-06-03 14:52:47 +02:00
Alexander Neumann
3a4727f0f5
Add entry to CHANGELOG.md
2017-06-03 14:28:29 +02:00
Alexander Neumann
fec89f95fb
Improve swift backend
2017-06-03 14:28:18 +02:00
Bartłomiej Święcki
5681d41f76
Implement OpenStack swift backend
...
This commit implements support for OpenStack swift
storage server, tested on OVH public cloud storage.
Special thanks to jayme-github <tuxnet@gmail.com >
who helped with the implementation.
2017-06-03 14:26:29 +02:00
Alexander Neumann
efd61d97ef
Vendor github.com/ncw/swift
2017-06-03 14:25:57 +02:00
Alexander Neumann
3ed56f2192
Add entry to CHANGELOG.md
2017-06-03 14:24:59 +02:00
Alexander Neumann
122462b9b1
Add Backblaze B2 backend
...
This is based on prior work by Joe Turgeon <arithmetric@gmail.com >
@arithmetric.
2017-06-03 14:24:59 +02:00
Alexander Neumann
2217b9277e
Vendor github.com/kurin/blazer
2017-06-03 14:24:59 +02:00
Alexander Neumann
b5e0e3631b
Addd nev version section
2017-06-03 14:10:28 +02:00
Alexander Neumann
be68e43871
Fix link
2017-06-02 22:08:04 +02:00
Alexander Neumann
f6034c0882
Merge pull request #990 from tmcarr/fix_readme_links
...
Fix the links in the readme to render in RST
2017-06-02 21:59:41 +02:00
Travis Carr
f693781bf0
Fix the links in the readme to render right.
2017-06-02 12:32:13 -07:00
Alexander Neumann
3ae9be987f
Add VERSION file for 0.6.1
2017-05-31 23:52:13 +02:00
Alexander Neumann
ec0975c388
Add VERSION file for
2017-05-31 23:51:02 +02:00
Alexander Neumann
c2ce484e93
Add version to CHANGELOG
2017-05-31 23:50:54 +02:00
Alexander Neumann
e5c7c314a7
Add section about reproducible build to README
...
In addition, the build script isn't needed any more.
2017-05-31 23:48:56 +02:00
Alexander Neumann
6d36dcd46e
Merge pull request #987 from Thor77/minor-doc-fix
...
[docs] Fix paragraph not indented correctly in #Autocomplete
2017-05-31 23:23:27 +02:00
Thor77
96c9ecd20e
Fix paragraph not indented correctly
2017-05-31 21:40:47 +02:00
Alexander Neumann
997be9a036
Remove PR
2017-05-31 21:34:18 +02:00
Alexander Neumann
31fd8e98b9
Add Entry to CHANGELOG
2017-05-31 21:33:45 +02:00
Alexander Neumann
aa0f874c8d
s3: Simplify IsNotExist()
2017-05-31 21:23:01 +02:00
Alexander Neumann
5c59484d2b
s3: Return only basename in List()
2017-05-31 21:22:55 +02:00
Alexander Neumann
fba6211c99
Merge pull request #986 from restic/fix-regression-985
...
Allow many idle connections per host
2017-05-31 20:49:50 +02:00
Alexander Neumann
a8386e7d71
Add entry to CHANGELOG
2017-05-31 19:53:54 +02:00
Alexander Neumann
04b262d8f1
Allow many idle connections per host
...
Closes #985
2017-05-31 19:39:19 +02:00
Alexander Neumann
4dbbc24a44
Update Go version
2017-05-30 23:05:13 +02:00
Alexander Neumann
725d50554a
Merge pull request #981 from restic/reproducible-builds
...
build.go: Strip temporary path, allow reproducible builds
2017-05-29 23:49:49 +02:00
Alexander Neumann
ed91cafce2
Add entry to CHANGELOG
2017-05-29 23:46:48 +02:00
Alexander Neumann
de48a5ac9c
build.go: Strip temporary path, allow reproducible builds
2017-05-29 23:27:25 +02:00
Alexander Neumann
1d167f4680
Merge tag 'v0.6.0'
...
v0.6.0
2017-05-29 21:35:27 +02:00
Alexander Neumann
efad7ee197
Add VERSION file for 0.6.0
2017-05-29 21:31:41 +02:00
Alexander Neumann
820c88ea73
Add VERSION file for 0.6.0
2017-05-29 21:12:52 +02:00
Alexander Neumann
e7f031c9b3
Merge pull request #976 from restic/backend-fixes
...
Misc fixes for the backend/test code
2017-05-28 13:30:56 +02:00
Alexander Neumann
f3f6924b61
backend/test: Loose requirement about early error
2017-05-28 13:06:27 +02:00
Alexander Neumann
c5244abad9
rest: Improve error messages
2017-05-28 12:33:47 +02:00
Alexander Neumann
1f5954e2c1
layout: Test DefaultLayout for empty path prefix
2017-05-28 12:33:47 +02:00
Alexander Neumann
e046a2a6da
sftp: Use path instead of filepath
2017-05-28 12:33:47 +02:00
Alexander Neumann
8395b53400
backend/test: Reduce verbosity in logs
2017-05-28 12:33:47 +02:00
Alexander Neumann
24ec14738d
backend/test: Skip offset == length test
2017-05-28 12:33:47 +02:00
Alexander Neumann
79477fdfe4
backend/test: Randomize test suite
2017-05-28 12:33:47 +02:00
Alexander Neumann
7ec0543af3
testing: Add id to error message in panic
2017-05-28 10:17:04 +02:00
Alexander Neumann
e73e3cb4ba
Merge pull request #974 from restic/remove-noninteractive-progress
...
Remove regular status printing for non terminals
2017-05-25 18:56:55 +02:00
Alexander Neumann
317d9c4559
Add entry to the changelog
2017-05-25 17:06:06 +02:00
Alexander Neumann
5247de552a
Remove regular status printing for non terminals
2017-05-25 17:03:48 +02:00
Alexander Neumann
37b107b90b
build script: Check for dirty work directory
2017-05-25 15:50:37 +02:00
Alexander Neumann
17ff41af47
Update version number in CHANGELOG.md
2017-05-25 15:42:44 +02:00
Alexander Neumann
772f647a73
Add VERSION file for 0.6.0-rc.1
2017-05-25 15:27:45 +02:00
Alexander Neumann
5c4facd9dc
Update CHANGELOG.md
2017-05-25 15:26:22 +02:00
Alexander Neumann
40ad1df6ee
Merge pull request #971 from restic/add-switch-enable-cgo
...
build.go: Add --enable-cgo
2017-05-25 11:28:40 +02:00
Alexander Neumann
c49da4c6f7
build.go: Add --enable-cgo
2017-05-25 11:03:29 +02:00
Alexander Neumann
d1cc87ba28
Merge pull request #966 from restic/unify-repo-layout
...
WIP: Unify repository layout
2017-05-22 21:15:38 +02:00
Alexander Neumann
89be1d496a
Improve issue template wording
2017-05-21 10:09:49 +02:00
Alexander Neumann
69e114c5c4
Merge pull request #968 from mcastilho/patch-2
...
Fixing CPUProfile
2017-05-17 21:13:42 +02:00
Alexander Neumann
5d9a4ce90c
Merge pull request #967 from middelink/gofmt
...
Fix a number of warnings from go report
2017-05-17 21:12:59 +02:00
Marcio Castilho
84f1037b8f
Update global_debug.go
...
The variable was wrong and the CPU profile was never being created.
2017-05-17 11:07:33 -04:00
Pauline Middelink
120af801cf
Fix golint warnings
...
(except the exported fields/functions without comments)
2017-05-17 01:39:39 +02:00
Pauline Middelink
f3d09ce7c8
Fix vet warnings
2017-05-17 01:34:33 +02:00
Pauline Middelink
2b9323529f
Fix gofmt -s warnings
2017-05-17 01:28:39 +02:00
Pauline Middelink
971ecee171
Fix ineffassign mistakes
2017-05-17 01:25:52 +02:00
Alexander Neumann
4640d1a28e
Add codecov.yml
2017-05-16 20:52:42 +02:00
Alexander Neumann
8b461a7456
Make TestFlags less verbose
2017-05-16 20:49:18 +02:00
Alexander Neumann
2fa1238b8a
Fix filenames for layout tests
2017-05-16 20:45:17 +02:00
Alexander Neumann
55ae5dab2b
design: Add s3.layout option
2017-05-15 23:37:16 +02:00
Alexander Neumann
fa41183a53
s3: Add s3.layout option and layout auto detection
2017-05-15 23:37:02 +02:00
Alexander Neumann
959aa0f595
Simplify layout detection
2017-05-15 23:36:23 +02:00
Alexander Neumann
069752cb42
Make layout default Dirname() consistent
...
Always return a trailing slash now.
2017-05-15 23:35:52 +02:00
Alexander Neumann
0c537837d9
Rename testdata files
2017-05-15 22:39:50 +02:00
Alexander Neumann
f19852a738
Rename CloudLayout -> RESTLayout
...
The REST backend uses a special layout without subdirs below data/. This
layout is just used there and nowhere else, and our REST server
implementation uses the default layout for the on disk storage. So we
remove the REST layout from the auto detection code.
2017-05-15 22:05:43 +02:00
Alexander Neumann
61cade6222
Rename layout s3 -> s3legacy
2017-05-15 21:59:28 +02:00
Alexander Neumann
a4e3a0dd97
design: Remove cloud layout
2017-05-15 21:51:19 +02:00
Alexander Neumann
22a6cd3a26
Merge pull request #964 from restic/update-minio-go
...
Update github.com/minio/minio-go
2017-05-15 21:15:28 +02:00
Alexander Neumann
7f10828dfa
Update github.com/minio/minio-go
2017-05-15 20:47:50 +02:00
Alexander Neumann
04264c6338
Remove doc/PKGBUILD
2017-05-15 19:48:57 +02:00
Alexander Neumann
13393c76dc
Merge pull request #957 from middelink/fix-953
...
Change backup policy to be inclusive
2017-05-15 17:19:04 +02:00
Alexander Neumann
13c12ca83d
Fix PKGBUILD
...
Closes #963
2017-05-15 17:17:23 +02:00
Pauline Middelink
7fffd408af
Do not use singleton counter.
...
Revert change for running the numbered tests as subtests.
2017-05-15 08:53:59 +02:00
Alexander Neumann
089b04c8a9
Merge pull request #962 from restic/improve-s3-partial-download
...
Improve s3 backend
2017-05-14 22:00:16 +02:00
Alexander Neumann
b192dacc13
Add text to the issue template
2017-05-14 21:37:45 +02:00
Alexander Neumann
250a45ab15
s3: Move interfaces to function
2017-05-14 20:36:26 +02:00
Alexander Neumann
3b44b87137
s3: Remove file after usage in test
2017-05-14 20:34:22 +02:00
Alexander Neumann
26c16b9fd3
s3: Correctly return token in Load
2017-05-14 20:19:12 +02:00
Alexander Neumann
0bd40bae6e
s3: Prevent net/http client from closing the reader
2017-05-14 20:19:12 +02:00
Alexander Neumann
246ccf09b9
s3: add getRemainingSize
2017-05-14 20:19:12 +02:00
Alexander Neumann
9452f416bf
s3: Use low level API for saving files
...
benchmark old ns/op new ns/op delta
BenchmarkBackendMinio/Save-4 184482294 40663344 -77.96%
BenchmarkBackendS3/Save-4 35030825568 54475455819 +55.51%
benchmark old MB/s new MB/s speedup
BenchmarkBackendMinio/Save-4 90.95 412.64 4.54x
BenchmarkBackendS3/Save-4 0.48 0.31 0.65x
benchmark old allocs new allocs delta
BenchmarkBackendMinio/Save-4 631 560 -11.25%
BenchmarkBackendS3/Save-4 646 584 -9.60%
benchmark old bytes new bytes delta
BenchmarkBackendMinio/Save-4 66818060 50735 -99.92%
BenchmarkBackendS3/Save-4 66834000 73024 -99.89%
2017-05-14 20:19:12 +02:00
Alexander Neumann
1e0e6ee573
s3: Use low-level API with a Range header for Load
...
benchmark old ns/op new ns/op delta
BenchmarkBackendMinio/LoadFile-4 9213315 11001787 +19.41%
BenchmarkBackendMinio/LoadPartialFile-4 4176619 3479707 -16.69%
BenchmarkBackendMinio/LoadPartialFileOffset-4 4391521 3139214 -28.52%
BenchmarkBackendS3/LoadFile-4 2886070905 2505907501 -13.17%
BenchmarkBackendS3/LoadPartialFile-4 762702722 735694398 -3.54%
BenchmarkBackendS3/LoadPartialFileOffset-4 789724328 1108989142 +40.43%
benchmark old MB/s new MB/s speedup
BenchmarkBackendMinio/LoadFile-4 1821.21 1525.15 0.84x
BenchmarkBackendMinio/LoadPartialFile-4 1004.49 1205.67 1.20x
BenchmarkBackendMinio/LoadPartialFileOffset-4 955.34 1336.45 1.40x
BenchmarkBackendS3/LoadFile-4 5.81 6.70 1.15x
BenchmarkBackendS3/LoadPartialFile-4 5.50 5.70 1.04x
BenchmarkBackendS3/LoadPartialFileOffset-4 5.31 3.78 0.71x
benchmark old allocs new allocs delta
BenchmarkBackendMinio/LoadFile-4 406 204 -49.75%
BenchmarkBackendMinio/LoadPartialFile-4 225 206 -8.44%
BenchmarkBackendMinio/LoadPartialFileOffset-4 227 207 -8.81%
BenchmarkBackendS3/LoadFile-4 600 388 -35.33%
BenchmarkBackendS3/LoadPartialFile-4 416 302 -27.40%
BenchmarkBackendS3/LoadPartialFileOffset-4 417 303 -27.34%
benchmark old bytes new bytes delta
BenchmarkBackendMinio/LoadFile-4 29475 13904 -52.83%
BenchmarkBackendMinio/LoadPartialFile-4 4218838 13958 -99.67%
BenchmarkBackendMinio/LoadPartialFileOffset-4 4219175 14332 -99.66%
BenchmarkBackendS3/LoadFile-4 114152 97424 -14.65%
BenchmarkBackendS3/LoadPartialFile-4 4265416 56212 -98.68%
BenchmarkBackendS3/LoadPartialFileOffset-4 4266520 56308 -98.68%
2017-05-14 20:19:12 +02:00
Alexander Neumann
be0e53c07b
tests: Add test for backend Save() from file
2017-05-14 19:55:32 +02:00
Alexander Neumann
9dd58196e3
Merge pull request #961 from restic/add-backend-benchmarks
...
Add backend benchmarks
2017-05-14 19:49:33 +02:00
Alexander Neumann
66b4999765
tests: Remove code generation, use reflection
...
This simplifies the code.
2017-05-14 12:59:07 +02:00
Alexander Neumann
403e201e1a
tests: Improve robustness of config tests
2017-05-14 12:50:20 +02:00
Alexander Neumann
77a55fbe5c
tests: Add documentation
2017-05-14 11:48:30 +02:00
Alexander Neumann
90c1608d88
sftp: Add Benchmarks
2017-05-14 11:48:30 +02:00
Alexander Neumann
7a51640262
rest: Add benchmarks
2017-05-14 11:48:30 +02:00
Alexander Neumann
13946e7db7
mem: Add benchmarks
2017-05-14 11:48:30 +02:00
Alexander Neumann
e009c002ba
local: Add benchmark
2017-05-14 11:48:30 +02:00
Alexander Neumann
d24e0cc6cc
s3: Add benchmarks
2017-05-14 11:48:30 +02:00
Alexander Neumann
5b8131e2d3
tests: Add benchmark for Save
2017-05-14 11:48:30 +02:00
Alexander Neumann
8fc25cc567
tests: Add benchmarks for partial file (+offset)
2017-05-14 11:48:30 +02:00
Alexander Neumann
77ebb95d3d
tests: Add BenchmarkLoadFile
2017-05-14 11:48:30 +02:00
Alexander Neumann
f142b1c22f
tests: Add benchmarks to test suite
2017-05-14 11:48:30 +02:00
Alexander Neumann
1c9159d6a0
Merge pull request #960 from restic/travis-run-tests-against-s3
...
Enable CI tests against AWS S3
2017-05-14 10:26:16 +02:00
Alexander Neumann
82e15dc6dc
Allow skipping the test against s3
...
If RESTIC_TEST_S3_REPOSITORY is not available it means we're probably
running on Travis for a third-party PR, so the access credentials for S3
are not exposed.
2017-05-14 00:33:19 +02:00
Alexander Neumann
ee68f9298b
tests: Ensure that backend tests cannot be skipped on Travis
2017-05-14 00:33:15 +02:00
Alexander Neumann
5c6ec78789
s3: Remove log line
2017-05-13 19:58:25 +02:00
Alexander Neumann
4ac0d3ad40
backend tests load: Use reader with Size() method
2017-05-13 19:56:11 +02:00
Harshavardhana
c7209ef231
api: Failed call retry with region only when http.StatusBadRequest.
...
Fixes https://github.com/minio/minio-go/issues/677
2017-05-13 19:53:24 +02:00
Alexander Neumann
0249c16b04
Revert "minio: Apply fix"
...
This reverts commit f43d34899d .
2017-05-13 19:41:55 +02:00
Alexander Neumann
f43d34899d
minio: Apply fix
...
https://github.com/minio/minio-go/issues/677
2017-05-13 13:18:42 +02:00
Alexander Neumann
19daefd04e
Merge pull request #938 from restic/rework-backend-tests
...
WIP: rework backend integration tests
2017-05-12 22:09:57 +02:00
Alexander Neumann
ec5e984ed9
Increase waiting time for network services
2017-05-12 21:45:18 +02:00
Alexander Neumann
88de3cfecc
rest: Wait until REST server is started
2017-05-12 21:33:34 +02:00
Alexander Neumann
a654f41ddb
Add docstring for package test
2017-05-12 21:19:32 +02:00
Alexander Neumann
fbf2462325
Rename backend test functions
2017-05-12 21:06:49 +02:00
Alexander Neumann
85e4831198
Remove stuff from run_integration_tests.go
2017-05-12 21:04:04 +02:00
Alexander Neumann
091dc29f72
doc: Fix s3 tutorial
2017-05-12 21:04:04 +02:00
Alexander Neumann
59d1986660
s3: Use random prefix for tests
2017-05-12 21:04:04 +02:00
Alexander Neumann
db4fa48f66
rest: Add context
2017-05-12 21:04:04 +02:00
Alexander Neumann
f2b83ece10
s3: Ignore errors for terminated minio server
2017-05-12 21:04:04 +02:00
Alexander Neumann
860b52273e
s3: Add tests for AWS
2017-05-12 21:04:04 +02:00
Alexander Neumann
bafceb56fb
s3: Convert to test suite, run Minio automatically
2017-05-12 21:04:04 +02:00
Alexander Neumann
9271b3662a
sftp: ignore error
2017-05-12 21:04:04 +02:00
Alexander Neumann
554013ca9f
rest: Convert to test suite
2017-05-12 21:04:04 +02:00
Alexander Neumann
3250fdc2ca
mem: Convert to test suite
2017-05-12 21:04:04 +02:00
Alexander Neumann
3678d34b16
sftp: Convert to test suite
2017-05-12 21:04:04 +02:00
Alexander Neumann
16276853a1
local: Convert to test suite
2017-05-12 21:04:04 +02:00
Alexander Neumann
f10c24e404
Improve test helpers
2017-05-12 21:04:04 +02:00
Alexander Neumann
6f5fd72738
Implement test suite for backend tests
2017-05-12 21:03:55 +02:00
Pauline Middelink
103a491ac0
Make houndci-bot happy.
2017-05-11 22:38:12 +02:00
Pauline Middelink
929f90344e
Change backup policy to be inclusive, meaning all given policies
...
are evaluated for each snapshot, thereby making sure that each
keep-* is able to retain its most recent snapshot. Thereby insuring
that weeklies keep Sundays around and monthlies keep the last day of
the month around.
Added testcase to make sure when multiple --keep-tags are given,
ALL of them need to match.
2017-05-11 22:34:50 +02:00
Alexander Neumann
a963052d64
Add custom HTTP transport
2017-05-11 21:51:30 +02:00
Alexander Neumann
898613e14f
debug: Add RoundTripper
2017-05-11 21:51:30 +02:00
Alexander Neumann
b84e63d503
backend.LoadAll: Check errors from io.Copy()
2017-05-11 21:51:30 +02:00
Alexander Neumann
63870d2830
Check error for Close()
2017-05-11 21:51:30 +02:00
Alexander Neumann
54e46f5984
Add MinimalData option for backend tests
2017-05-11 21:51:30 +02:00
Alexander Neumann
0096eca7fe
Install log buffer for global logs
...
This hides logged message from the net/http library and only shows them
in case an error occurs.
2017-05-11 21:51:30 +02:00
Pauline Middelink
ce3acbd30a
Remove unused SnapshotFilter and FilterSnapshots().
2017-05-11 21:07:58 +02:00
Alexander Neumann
c5ae5524ff
Remove codecov.yml
2017-05-10 20:52:06 +02:00
Alexander Neumann
fbf5a8123b
Merge pull request #952 from restic/remove-temp-files
...
Unlink tempfiles before using them
2017-05-10 20:25:07 +02:00
Alexander Neumann
edbd6ad584
Add fs.TempFile and fs.RemoveIfExists
2017-05-10 19:48:22 +02:00
Alexander Neumann
faf11c4a46
Fix link in README.rst
...
closes #950
2017-05-08 21:31:11 +02:00
Alexander Neumann
68a9e5f963
Merge pull request #947 from restic/correct-codecov
...
codecov.io: Add path fixes
2017-05-07 10:59:20 +02:00
Alexander Neumann
fa7f0ef44f
codecov.io: Add path fixes
2017-05-07 10:41:32 +02:00
Alexander Neumann
bcfe7afbfd
Merge pull request #945 from middelink/fix-942
...
Add bash autocompletion generation
2017-05-07 10:30:10 +02:00
Alexander Neumann
46e6e8984d
Merge pull request #941 from restic/improve-mkdir
...
local/sftp: Auto create directories if needed
2017-05-07 10:26:39 +02:00
Alexander Neumann
0f057bd440
Merge pull request #943 from middelink/fix-names
...
Small changes to cmd_forget and snapshot_filter
2017-05-07 10:15:21 +02:00
Alexander Neumann
ba91a76f5f
Merge pull request #946 from restic/update-minio-go
...
Update github.com/minio/minio-go
2017-05-07 09:54:55 +02:00
Alexander Neumann
c09e005cc8
Update github.com/minio/minio-go
...
This corrects a severe performance regression when the current minio
server is used as a backend, see
https://github.com/minio/minio/issues/4275
2017-05-07 09:36:49 +02:00
Pauline Middelink
2c42629c51
Add bash autocompletion generation
...
Fix #942
2017-05-06 12:39:23 +02:00
Pauline Middelink
f93e5a39e5
Small textual changes to apply, to reflect actual meaning.
...
Added tests for the ExpirePolicy operations.
2017-05-04 16:39:41 +02:00
Pauline Middelink
02eafe94b3
Use global context in cmd_forget, like all other cmds
2017-05-04 16:35:35 +02:00
Alexander Neumann
7d914768bb
local/sftp: Auto create directories if needed
...
As reported in #940
2017-05-03 21:19:22 +02:00
Alexander Neumann
db6541b24c
Merge pull request #936 from Thor77/manual-fix-rst-links
...
Fix links broken during conversion to rst
2017-04-30 19:08:20 +02:00
Thor77
228566c0a1
Fix links broken during conversion to rst
2017-04-30 18:25:45 +02:00
Alexander Neumann
1e4bcf3367
design.rst: Fix tree IDs in example
...
Closes #913
2017-04-29 20:15:30 +02:00
Alexander Neumann
51e7d26053
Merge pull request #935 from restic/add-glyphcheck
...
CI: Add glyphcheck, rework REST server install
2017-04-27 16:16:07 +02:00
Alexander Neumann
e42627d2cb
CI: Add glyphcheck, rework REST server install
2017-04-27 16:01:09 +02:00
Alexander Neumann
548d4eed95
Correct backend test for len = 0
2017-04-26 20:47:15 +02:00
Alexander Neumann
8a5034d289
Merge pull request #930 from restic/update-cobra
...
forget: don't sort flags
2017-04-21 20:01:47 +02:00
Alexander Neumann
5a68641f27
Add saythanks.io
2017-04-21 19:32:37 +02:00
Alexander Neumann
ce28584dda
Don't sort flags for forget command
2017-04-21 19:25:21 +02:00
Alexander Neumann
ab870dd691
Update cobra und spf13
2017-04-21 19:19:14 +02:00
Alexander Neumann
aed0126102
Merge pull request #927 from restic/open-check-config
...
Test if a config file on open
2017-04-19 19:29:27 +02:00
Alexander Neumann
d0db1bf9b3
Test if a config file on open
2017-04-19 18:56:01 +02:00
Alexander Neumann
90ba606633
Add console hilighting to README.rst
2017-04-19 18:32:32 +02:00
Alexander Neumann
5b80cb8b6b
Merge pull request #922 from restic/update-deps
...
Update vendored dependencies
2017-04-19 18:30:41 +02:00
Alexander Neumann
e6ca604d24
build.go: Also copy header files
2017-04-19 17:31:07 +02:00
Alexander Neumann
9940b7f853
Update golang.org/x/*
2017-04-18 21:40:17 +02:00
Alexander Neumann
faca9276e9
Update spf13/pflag
2017-04-18 21:40:17 +02:00
Alexander Neumann
5a7e463ef6
Update spf13/cobra
2017-04-18 21:40:17 +02:00
Alexander Neumann
27c5a2825a
Update restic/chunker to v0.1.0
2017-04-18 21:40:17 +02:00
Alexander Neumann
e9d939ff2d
Update code for pkg/xattr v0.2.0
2017-04-18 21:39:55 +02:00
Alexander Neumann
88e8eaa575
Update pkg/xattr to v0.2.0
2017-04-18 21:32:55 +02:00
Alexander Neumann
3bbcf89105
Update pkg/errors to v0.8.0
2017-04-18 21:30:02 +02:00
Alexander Neumann
1794bdc663
Update minio/minio-go to v2.0.4
2017-04-18 21:29:56 +02:00
Alexander Neumann
bcf97ebf1f
Merge pull request #920 from jpmens/patch-2
...
Small typo in "Frankfurt"
2017-04-18 11:55:04 +02:00
JP Mens
a1496547fd
Small typo in Frankfurt
2017-04-18 11:42:40 +02:00
Alexander Neumann
0befa06cd0
Merge pull request #919 from Phaeilo/s3-tutorial
...
Added AWS S3 tutorial.
2017-04-17 22:44:12 +02:00
Alexander Neumann
407b8c179b
doc: Use "code-block console" for session blocks
2017-04-17 22:43:04 +02:00
Alexander Neumann
aafee25d58
Convert AWS S3 tutorial to rst
2017-04-17 22:41:23 +02:00
Philip Huppert
adb602dbfe
Added AWS S3 tutorial.
2017-04-17 22:14:39 +02:00
Alexander Neumann
085b6bede8
doc: Add hline
2017-04-17 22:13:43 +02:00
Alexander Neumann
096aab592b
doc: Move doc/references/* to doc/
2017-04-17 22:07:06 +02:00
Alexander Neumann
2f117982e9
Add symlink to make old link to Design.md work
2017-04-17 21:17:15 +02:00
Alexander Neumann
b05603eb6c
Merge pull request #913 from Thor77/switch-to-sphinx
...
Switch documentation to Sphinx
2017-04-17 21:00:22 +02:00
Thor77
9344b0b3a8
Documentation: Refactor and switch to Sphinx
...
* convert documentation to reStructuredText
* switch from mkdocs to sphinx
* rewrite README.md (now .rst) to include less information and be more
attractive
2017-04-17 20:53:38 +02:00
Alexander Neumann
89ea1171db
Merge pull request #918 from restic/fix-917
...
s3: Correct layout prefix, reduce connections
2017-04-17 20:22:39 +02:00
Alexander Neumann
28968caf33
s3: Correct prefix for layout
2017-04-17 20:06:55 +02:00
Alexander Neumann
16fd1c2352
s3: Correct layout handle url/path
2017-04-17 20:06:55 +02:00
Alexander Neumann
b942f61272
s3: Reduce connection limit, prevents timeouts
2017-04-17 20:06:55 +02:00
Alexander Neumann
e3d1badfcf
Add more questions to github issue template
2017-04-17 18:30:20 +02:00
Alexander Neumann
76f6a9e597
Merge pull request #916 from restic/fix-915
...
Ignore empty lines in excludes file, allow multiple files
2017-04-17 10:20:12 +02:00
Alexander Neumann
69dd1d2544
backup: Allow specifying multiple exclude files
2017-04-16 20:52:41 +02:00
Alexander Neumann
dd65ac56ef
filter: Ignore empty patterns
2017-04-16 20:49:20 +02:00
Alexander Neumann
c796d84fca
Ignore empty lines in excludes file
...
Closes #915
2017-04-16 20:46:52 +02:00
Alexander Neumann
525db875b0
Merge pull request #898 from restic/prepare-cloud-backends
...
Prepare more cloud backends, add backend layouts
2017-04-15 11:30:25 +02:00
Alexander Neumann
e73038cbcb
Merge pull request #912 from restic/update-go
...
Update Go
2017-04-15 11:19:20 +02:00
Alexander Neumann
00a8edb4a0
Merge pull request #911 from restic/fix-735
...
Implement MkdirAll() for Windows
2017-04-15 11:19:17 +02:00
Alexander Neumann
ee7e0d05f5
Remove old Go versions from run_integration_tests.go
2017-04-15 11:06:50 +02:00
Alexander Neumann
6357dc8a91
Update Go versions
2017-04-15 10:58:43 +02:00
Alexander Neumann
5bd95b3ce1
Implement MkdirAll() for Windows
...
Closes #735
2017-04-15 10:56:17 +02:00
Alexander Neumann
be06983c80
options: Fix sorting (and test)
2017-04-14 00:45:54 +02:00
Alexander Neumann
55bdc1fa16
Add documentation for new options
2017-04-14 00:14:11 +02:00
Alexander Neumann
a634c22ae0
Add hidden 'options' command to list all opts
2017-04-14 00:00:03 +02:00
Alexander Neumann
859ee23d2e
options: Register local and sftp backends
2017-04-14 00:00:03 +02:00
Alexander Neumann
b7671dafc8
options: Allow registering
2017-04-14 00:00:02 +02:00
Alexander Neumann
541484d142
s3: Use Layout
2017-04-14 00:00:02 +02:00
Alexander Neumann
f531ca3b48
layout: Fix corner cases
2017-04-14 00:00:02 +02:00
Alexander Neumann
0da7264e75
rest: Convert to Layout
2017-04-14 00:00:02 +02:00
Alexander Neumann
7f3bcdb4cc
layout: prepare use for REST backend
2017-04-14 00:00:02 +02:00
Alexander Neumann
5eaa51eeff
Remove unused assignments
2017-04-14 00:00:02 +02:00
Alexander Neumann
7b64b890d7
Simplify code
2017-04-14 00:00:02 +02:00
Alexander Neumann
ccc201ea5f
remove unused code
2017-04-14 00:00:02 +02:00
Alexander Neumann
e6578857cf
sftp/local: Fix listing files
2017-04-14 00:00:02 +02:00
Alexander Neumann
320c22f1f5
backend/layout: Add Basedir()
2017-04-14 00:00:02 +02:00
Alexander Neumann
e2af5890f3
backend: Add test for listing files with layouts
2017-04-14 00:00:02 +02:00
Alexander Neumann
36b1c0898c
sftp: Add OS X sftp-server path
2017-04-13 23:59:59 +02:00
Alexander Neumann
94441dcbee
Merge pull request #908 from restic/handle-nested-mountpoints
...
Check allowed devices per path
2017-04-13 22:00:10 +02:00
Alexander Neumann
c723cdf808
Check allowed devices per path
...
Closes #645
Closes #702
2017-04-13 21:03:05 +02:00
Alexander Neumann
c2ee0d9c84
sftp: Skip tests if server binary is not available
2017-04-10 22:51:00 +02:00
Alexander Neumann
e8780f1ec6
sftp: Add layout tests
2017-04-10 22:42:33 +02:00
Alexander Neumann
783fd73ea1
local: Rename local_layout_test
2017-04-10 22:42:33 +02:00
Alexander Neumann
74eb293733
sftp: Remove legacy filename/dirname methods
2017-04-10 22:42:33 +02:00
Alexander Neumann
42ea4d257b
sftp: first step of conversion to Layout
2017-04-10 22:42:33 +02:00
Alexander Neumann
a849edf19a
local: remove double Close()
2017-04-10 22:42:33 +02:00
Alexander Neumann
0cbd59856c
layout: Add IsNotExist
2017-04-10 22:42:33 +02:00
Alexander Neumann
698ba57597
backend/tests: Print error stacktrace if available
2017-04-10 22:42:33 +02:00
Alexander Neumann
27ce6a85e9
sftp: Rework Open/Create
2017-04-10 22:42:33 +02:00
Alexander Neumann
ae290ab374
sftp: Rename Dir -> Path
2017-04-10 22:42:33 +02:00
Alexander Neumann
ab602c9d14
sftp: Add Layout
2017-04-10 22:40:24 +02:00
Alexander Neumann
2e53af1b75
sftp: Rename Open/Create
2017-04-10 22:39:13 +02:00
Alexander Neumann
a725e065d9
Merge pull request #903 from restic/fix-hardlinks
...
Add new field DeviceID and tests
2017-04-07 21:05:20 +02:00
Alexander Neumann
db7e23b423
Skip /dev/null on darwin
2017-04-07 20:37:20 +02:00
Alexander Neumann
dc8493535d
Merge pull request #905 from restic/fix-json-output
...
Remove short option conflict
2017-04-07 20:30:18 +02:00
Alexander Neumann
10a395ca33
Make tests runnable on os x/darwin
2017-04-06 20:36:09 +02:00
Alexander Neumann
522c7ade91
Add test for double defined flags
2017-04-06 19:44:53 +02:00
Alexander Neumann
a3d6099892
Remove short option conflict
2017-04-06 19:14:38 +02:00
Alexander Neumann
280028290e
Disable tests on darwin
2017-04-05 21:35:29 +02:00
Alexander Neumann
c195139d31
Only run tests on unix
2017-04-05 20:51:26 +02:00
Alexander Neumann
6f1b03415c
Fix hardlinks
2017-04-05 20:45:24 +02:00
Alexander Neumann
ffcb015581
Add new field DeviceID and tests
2017-04-05 20:42:15 +02:00
Alexander Neumann
67a2ac292b
Merge pull request #902 from jgfrm/issue893
...
storage of device id of files
2017-04-05 17:44:03 +02:00
jgfrm
6674b2a70c
Moved assignment of device id outside the switch
2017-04-05 11:33:08 +02:00
jgfrm
c855d6bb9a
storage of device id of files
2017-04-04 21:28:25 +02:00
Alexander Neumann
1086528ab7
sftp: Fix errors import
2017-04-03 21:42:41 +02:00
Alexander Neumann
c26dd6b76f
sftp: Integrate command
2017-04-03 21:05:42 +02:00
Alexander Neumann
d3b6f75848
sftp: Add SplitShellArgs
2017-04-03 08:57:33 +02:00
Alexander Neumann
d1efdcd78e
Add integration test for layouts
2017-04-02 20:35:17 +02:00
Alexander Neumann
95ab5adda1
local: Expose layout as extended option
2017-04-02 20:29:00 +02:00
Alexander Neumann
c5eb36fe9d
layout: improve error message for ParseLayout
2017-04-02 20:28:42 +02:00
Alexander Neumann
e3e3a8a695
local: Add layout tests
2017-04-02 20:01:40 +02:00
Alexander Neumann
24ebf95f33
local: Automatically detect layout
2017-04-02 20:01:40 +02:00
Alexander Neumann
54465c92cc
layout: Allow passing in a default layout
2017-04-02 20:01:36 +02:00
Alexander Neumann
f7c4b3a922
Fix layout detection
2017-04-02 19:18:03 +02:00
Alexander Neumann
50dfa64a54
Add layout name parser
2017-04-02 17:57:28 +02:00
Alexander Neumann
c6b8ffbb61
Add layout auto detection
2017-04-02 17:25:22 +02:00
Alexander Neumann
3e81dcdfc2
Add cloud and s3 layout
2017-03-26 22:20:10 +02:00
Alexander Neumann
782b740c95
local: Remove unused code
2017-03-26 22:14:37 +02:00
Alexander Neumann
3fd6fa6f86
local: Use Layout for filename generation
2017-03-26 21:53:26 +02:00
Alexander Neumann
6a201f7962
backend: Add Layout
2017-03-26 21:52:49 +02:00
Alexander Neumann
80a864c52c
test: Add TempDir() helper
2017-03-26 20:40:45 +02:00
Alexander Neumann
c8eea49909
debug: Allow creating insecure repositories
...
Uses low-security KDF parameters for scrypt(). Do not use in production!
2017-03-26 10:55:08 +02:00
Alexander Neumann
95c354fe81
doc: s3 backend deviations, cloud repo layout
2017-03-26 10:55:08 +02:00
Alexander Neumann
6935f82389
Merge pull request #897 from restic/add-extended-options
...
Add extended options
2017-03-26 10:53:36 +02:00
Alexander Neumann
719bb18316
Parse extended options
2017-03-25 17:52:16 +01:00
Alexander Neumann
a8a7701f60
options: Add namespace to Apply()
2017-03-25 17:52:16 +01:00
Alexander Neumann
2924ebc124
options: Add Apply()
2017-03-25 17:52:16 +01:00
Alexander Neumann
f587a5f4f0
options: fail when key is configured twice
2017-03-25 17:52:16 +01:00
Alexander Neumann
946b4f4b86
Add extended options via -o/--option
2017-03-25 17:52:12 +01:00
Alexander Neumann
d0a5e86da1
Add free-form options parsing
2017-03-25 17:45:11 +01:00
Alexander Neumann
2e0b19f63f
location: Move to backend/location
2017-03-25 17:45:11 +01:00
Alexander Neumann
9861f3d435
location: Reformat tests, use sub tests
2017-03-25 17:45:10 +01:00
Alexander Neumann
482a6e9840
local: Add Config struct
2017-03-25 17:45:10 +01:00
Alexander Neumann
6a8700d86c
Merge pull request #896 from restic/fix-895
...
doc: Add section about how to change the sftp port
2017-03-25 09:31:29 +01:00
Alexander Neumann
1733b24f9d
doc: Add section about how to change the sftp port
...
Closes #895
Related to #785
2017-03-25 09:07:50 +01:00
Alexander Neumann
c85055bb03
Merge pull request #887 from restic/rest-integration-tests
...
WIP: rest: Make backend honor the REST protocol
2017-03-18 15:21:05 +01:00
Alexander Neumann
280f05b174
Run rest-server
2017-03-18 11:11:31 +01:00
Alexander Neumann
990b0f1c15
Travis: Run rest-server for integration tests
2017-03-16 21:59:21 +01:00
Alexander Neumann
6f76a6db66
rest: Make backend honor the REST protocol
2017-03-16 21:50:26 +01:00
Alexander Neumann
0c2834edb7
Merge pull request #883 from trbs/s3_perf_cache_stat
...
Cache size of last ReadAt on S3 for performance
2017-03-15 20:59:29 +01:00
trbs
f1ba45723c
introduce RWLock for caching obj.Stat()
2017-03-14 23:05:51 +01:00
trbs
b523eef294
Cache size of last ReadAt on S3 for performance
...
Each obj.Stat() call adds another request to the S3 endpoint
for some commands a lot of ReadAt calls are made for the same
object in S3. This patch essentially cuts the number of calls
to S3 in this case in half. Speeding up the progress and lowering
costs to S3.
2017-03-14 14:02:50 +01:00
Alexander Neumann
bf30b2831b
Merge pull request #878 from middelink/fix-825
...
Fix restoring files ownership as non-root user
2017-03-12 18:20:28 +01:00
Pauline Middelink
642cd3bebf
Fix restoring files as non-root user
...
As we cannot reliably detect in advance if we can set ownership, permissions,
timestamps or ext attributes, execute ALL the requested changes before
returning the first error we found.
Report total errors at end of restore and stop printing entire stacktraces
where just the error message is sufficient.
Fixes #655
2017-03-12 16:51:58 +01:00
Alexander Neumann
057dd6c590
Merge tag 'v0.5.0'
...
v0.5.0
2017-03-11 21:14:39 +01:00
Alexander Neumann
0bd7db9efe
Add VERSION file for 0.5.0
2017-03-11 12:36:35 +01:00
Alexander Neumann
f678c97346
Add VERSION file for 0.5.0
2017-03-11 12:34:27 +01:00
Alexander Neumann
887e81188f
Merge pull request #877 from middelink/fix-875
...
Fix crash at restoring pre-existing hardlinked files
2017-03-11 10:13:43 +01:00
Alexander Neumann
8d0140aabe
Merge pull request #876 from middelink/fix-836
...
Restore does not truncate files it restores
2017-03-11 10:12:53 +01:00
Alexander Neumann
2a8f275a28
Manual: Document TMPDIR env variable
...
Closes #873
2017-03-11 10:02:33 +01:00
Alexander Neumann
55c3150946
Manual: Fix section about JSON
2017-03-11 09:59:36 +01:00
Pauline Middelink
b56e16acd0
Fix crash at restoring pre-existing hardlinked files
...
Remove target file, ignore non existing file errors.
Small memory saving: Only keep inodes around for files with a link count > 1.
(We will/can never be asked to restore a hardlinked file with one of the
files having a link count of 1.)
Closes #836
2017-03-11 00:06:58 +01:00
Pauline Middelink
b75186533d
Restore does not truncate files it restores
...
Missing O_TRUNC when doing O_CREAT.
Closes #875
2017-03-10 22:46:13 +01:00
Alexander Neumann
8958efba60
Merge pull request #871 from middelink/fix-869
...
Refactor output of `find` to allow for json and normal output.
2017-03-10 20:03:26 +01:00
Pauline Middelink
a9707a5728
Refactor output of find to allow for json and normal output.
...
Rather complicated solution becaused I wanted to retain the streaming
character of the output, which means for json I have to manually add
headers and footers per snapshot scanned + a list around the whole
set.
As the json ouput is now partly handcrafted, add proper testing to catch
unintentional changes to the output, making it non-json compliant.
Closes #869
2017-03-10 16:23:58 +01:00
Alexander Neumann
7635feb591
Add cross-compilation to README and Manual
2017-03-09 21:24:38 +01:00
Alexander Neumann
087c2917aa
Check version in build.go
...
Print a sensible error for Go < 1.7 (the "context" package is missing
there)
2017-03-09 21:24:30 +01:00
Alexander Neumann
deddedd88f
Merge pull request #872 from middelink/fix-787
...
Suppress (non error) output of `forget` during -q
2017-03-09 21:23:36 +01:00
Pauline Middelink
b38294f236
Suppress (non error) output of forget during -q
...
Closes #787
2017-03-09 20:20:17 +01:00
Alexander Neumann
fdb9872cef
Add cross-compilation to README and Manual
2017-03-09 11:37:44 +01:00
Alexander Neumann
f8dd5d5088
Check version in build.go
...
Print a sensible error for Go < 1.7 (the "context" package is missing
there)
2017-03-09 11:29:24 +01:00
Alexander Neumann
9e0207e534
Add CHANGELOG.md and instructions for contributors
2017-03-09 10:40:24 +01:00
Alexander Neumann
9eae789cd2
Add VERSION file for 0.5.0-rc.1
2017-03-09 10:28:33 +01:00
Alexander Neumann
d6104935d7
Add VERSION file for 0.5.0rc1
2017-03-09 10:20:11 +01:00
Alexander Neumann
406af5916c
Also include the source in SHA256SUMS
2017-03-09 10:19:45 +01:00
Alexander Neumann
93e4e4f4fb
Merge pull request #866 from middelink/widespread-tags
...
Add --tag filtering to every command, where applicable
2017-03-09 09:55:26 +01:00
Pauline Middelink
8a05de537f
Refactor prune and rebuild_index
...
Factor out and reuse `rebuildIndex()` in cmd_rebuild_index and cmd_prune.
Use contexts.
2017-03-08 20:30:52 +01:00
Pauline Middelink
8a92687d9a
Refactor find and ls commands
...
Implement filtering by using `FindFilteredSnapshots()` to iterate over the snapshots
Refactor cmd_ls' `PrintNode()` into format.go, reuse its pretty printing in both `find`
and `ls` commands.
Use contexts.
2017-03-08 20:29:31 +01:00
Pauline Middelink
3432e7edcd
Refactor tag to use FindFilteredSnapshots()
2017-03-08 20:28:44 +01:00
Pauline Middelink
3c6c17abcd
Refactor forget and snapshots command
...
Implement filtering by using `FindFilteredSnapshots()` to iterate over the snapshots
Refactor cmd_snapshots' `PrintSnapshots()` so its pretty printing can be used from
both `forget` and `snapshots`.
Use contexts.
2017-03-08 20:24:58 +01:00
Pauline Middelink
11d237c252
New helper function FindFilteredSnapshots to iterate over snapshots
...
This helper function takes a set of filters and/or a list of snapshots
from the commandline. It returns a channel of *Snapshot.
When snapshot ids are given, they are checked for validity and their
corresponding Snapshots returned. The snapshot id "latest" is handled
special to return either the last snapshot (no filters) or the last
snapshot matching the filters.
When no arguments are given, the filters are applied over all available
snapshots and these are returned.
2017-03-08 20:19:12 +01:00
Pauline Middelink
0f7b6ec5ac
Adapt key command to context world.
2017-03-08 20:17:30 +01:00
Pauline Middelink
b4526c4e6e
Enable the use of context in restic
...
Set up a cancelble context in global options, hook it into the ctrl-C handler
for proper cancel propegation.
Bump up minimal requirement for Go to version 1.7 in documentation
and test-build files.
2017-03-08 20:12:16 +01:00
Pauline Middelink
3eaaa0f286
Correct some typo's in comments.
2017-03-08 20:09:24 +01:00
Pauline Middelink
b1c8071163
Add filtering to mount command
2017-03-08 19:59:19 +01:00
Pauline Middelink
3468108d4c
Implement --tag processing to backup and restore command
...
Add `tags` argument to `FindLatestSnapshot()`
2017-03-08 19:55:58 +01:00
Alexander Neumann
33c8dd4ee5
Merge pull request #867 from middelink/optimize
...
Optimize List() pipeline
2017-03-08 11:50:47 +01:00
Alexander Neumann
5e2c4caa32
Merge pull request #861 from middelink/fix-841
...
Refactor cmd_forget
2017-03-08 09:56:01 +01:00
Pauline Middelink
7c989ca487
Optimize List() pipeline
2017-03-07 20:58:36 +01:00
Pauline Middelink
e9a2982ecd
Add --path for snapshot filtering by path.
...
Add `--group-by-tags` for grouping on host,tags,dirs instead of host,dirs.
Borrow the snapshot printing from cmd_snapshot.
Closes #841
2017-03-07 19:28:42 +01:00
Alexander Neumann
f5a55a81f7
Merge pull request #865 from restic/handle-empty-snapshots
...
Refuse to create empty snapshots
2017-03-07 11:21:48 +01:00
Alexander Neumann
340f2c80a0
Merge pull request #864 from restic/find-case-insensitive
...
find: Add option to ignore case
2017-03-07 11:20:33 +01:00
Alexander Neumann
bb144436c7
Add test for empty snapshot
2017-03-07 11:17:15 +01:00
Alexander Neumann
b50d3ba805
Refuse to create empty snapshots
...
Closes #862
2017-03-07 11:12:34 +01:00
Alexander Neumann
00e7158381
Merge pull request #860 from middelink/factor-out
...
Create a helper function to get the terminal width
2017-03-07 10:59:39 +01:00
Alexander Neumann
221bef48c0
find: Add option to ignore case
...
Closes #859
2017-03-07 10:58:09 +01:00
Pauline Middelink
afcc1ba706
Create a helper function to get the terminal width
...
Rationale: contain terminal access to one file.
2017-03-06 11:23:00 +01:00
Alexander Neumann
bf88a62a16
Merge pull request #858 from middelink/snapshot-layout
...
Fix layout issue in cmd_snapshot "ascii art"
2017-03-06 09:10:35 +01:00
Alexander Neumann
cc140744d6
Merge pull request #857 from middelink/fix-856
...
Fix SamePaths() and make it into a receiver function
2017-03-06 09:10:33 +01:00
Pauline Middelink
354e8ffb82
Fix layout issue in cmd_snapshot "ascii art"
...
The layouter does not account for multi tags when determining the
need for ascii art.
36fd8178 2017-03-03 21:35:04 abuseio.polyware.nl NL /
A └──
vs
36fd8178 2017-03-03 21:35:04 abuseio.polyware.nl NL ┌── /
A └──
2017-03-06 02:49:15 +01:00
Pauline Middelink
e1c828be3e
Fix SamePaths() and make it into a receiver function
...
Add `HasPath(paths []string) bool` to Snapshot for testing if the
snapshot has at least the paths given to the function.
Reimplemented SamePaths(paths []string) so it does what the name implies,
compare if all given paths are in the snapshot.
2017-03-06 02:21:58 +01:00
Alexander Neumann
d50dc9f649
Merge pull request #855 from middelink/fix-851
...
Add `tag` command to restic cli to manipulate tags on existing snapshots.
2017-03-05 20:20:20 +01:00
Alexander Neumann
07695b3622
Documentation fixes
2017-03-05 20:12:25 +01:00
Pauline Middelink
be15a9261a
Add design and user documentation for the restic tag command
2017-03-05 19:55:23 +01:00
Pauline Middelink
1fa2313aef
Snapshot: Add Original ID
...
The Original ID is used when the snapshot is modified (e.g. by `tag`
command). Adjust integration testing to assert correctness.
2017-03-05 19:55:23 +01:00
Pauline Middelink
26e266a951
Fix type of ID field in cmd_snapshots type Snapshot
2017-03-05 19:55:22 +01:00
Pauline Middelink
208edaa3d1
Snapshot: Add AddTags() and RemoveTags()
...
Both prevent duplicate tags.
2017-03-05 19:55:22 +01:00
Pauline Middelink
f6a258b4a8
Add tag: Manipulate tags on existing snapshots
...
Add integration testing.
2017-03-05 19:55:22 +01:00
Alexander Neumann
db08581352
Add hint for other backend URI formats
2017-03-05 16:58:24 +01:00
Alexander Neumann
0afeb68e6c
Merge pull request #854 from middelink/dynamic-host,tag-columns-in-cmd_snapshots
...
Dynamic host,tag columns widths in snapshots command
2017-03-05 16:11:38 +01:00
Alexander Neumann
a809c9ac5f
Merge pull request #853 from middelink/cmd_backup-tag-integration-test
...
restic backup --tag integration test
2017-03-05 16:08:02 +01:00
Pauline Middelink
45e9f35654
Make columns for host and tags size width dynamicly on their content.
2017-03-05 05:32:01 +01:00
Pauline Middelink
edd5c8b44d
Add integration test to make sure cmd_backup adds tags when required.
2017-03-05 05:24:40 +01:00
Pauline Middelink
7238a3ee89
Changed cmd_snapshots to be testable (no more using os.Stdout)
2017-03-05 05:24:11 +01:00
Alexander Neumann
bbcab800c9
Merge pull request #850 from middelink/fix-848
...
Add progressbar to repack and blob remove phases of prune cmd.
2017-03-04 18:47:03 +01:00
Pauline Middelink
5564c78e53
English typo: rewriten > rewritten.
2017-03-04 17:43:58 +01:00
Pauline Middelink
792b81725e
Add progressbar to repack and blob remove phases of prune cmd.
2017-03-04 17:38:34 +01:00
Alexander Neumann
b101efe26e
Merge pull request #845 from restic/update-pkg-xattr
...
Update github.com/pkg/xattr
2017-03-04 16:49:07 +01:00
Alexander Neumann
becc34a159
Merge pull request #847 from middelink/fix-846
...
Display the proper amount of bytes we will be pruning from the repo.
2017-03-04 16:47:20 +01:00
Pauline Middelink
1273c6f3d4
Display the proper amount of bytes we will be pruning from the repo.
2017-03-04 15:17:44 +01:00
Alexander Neumann
82458d4de0
Update github.com/pkg/xattr
...
Closes #843
2017-03-04 14:23:15 +01:00
Alexander Neumann
7066cc17bb
Merge pull request #844 from welpo/patch-1
...
Fix Minio Server URL
2017-03-04 13:51:05 +01:00
welpo
12ed2f65e3
Fix Minio Server URL
...
The previous link gave a 404
2017-03-04 13:19:50 +01:00
Alexander Neumann
90bc187355
Merge pull request #840 from middelink/master
...
Display absolute paths when displaying the output of ls and find.
2017-03-03 12:09:20 +01:00
Pauline Middelink
5ecaaea90b
Really use absolute pathnames, not all systems use /.
2017-03-03 11:14:39 +01:00
Alexander Neumann
f9fc8674eb
Merge pull request #837 from restic/index
...
Misc improvements
2017-03-03 09:44:06 +01:00
Pauline Middelink
039e81b04b
Fix unit test, we need to check for absolute paths now.
2017-03-02 23:30:56 +01:00
Pauline Middelink
efb4315a1e
Display absolute paths when displaying the output of ls and find.
2017-03-02 22:41:11 +01:00
Alexander Neumann
f53d33ba34
Make ArchiveReader a struct
2017-03-02 15:45:35 +01:00
Alexander Neumann
9b776dc7ab
Use new Index implementation for rebuild-index
2017-03-02 15:23:59 +01:00
Alexander Neumann
1d64a1dcbb
Merge pull request #835 from restic/fix-834
...
Allow filtering absolute paths
2017-03-02 15:22:17 +01:00
Alexander Neumann
7c92994f10
Clarify variable name
2017-03-02 14:52:18 +01:00
Alexander Neumann
bf97cc7efa
Allow filtering absolute paths
...
Before, the restorer called the filter function with a relative path,
this prevented anchoring absolute patterns (which just never matched).
Now call the restore function with an absolute virtual path, starting at
the filepath separator.
Closes #834
2017-03-02 14:50:54 +01:00
Alexander Neumann
4f5e9e939b
Merge pull request #829 from restic/fix-822
...
Ignore empty lines in --files-from
2017-02-27 21:15:35 +01:00
Alexander Neumann
92ad35848a
Fix Travis Go versions
2017-02-27 20:40:10 +01:00
Alexander Neumann
bb69b20aff
Travis: Configure Go versions
2017-02-27 20:39:00 +01:00
Alexander Neumann
80e93621e1
Travis: Configure Go versions
2017-02-27 20:37:47 +01:00
Alexander Neumann
31ff506309
Ignore empty lines in --files-from
...
Closes #822
2017-02-27 19:42:00 +01:00
Alexander Neumann
4a51ddf741
Add section to the manual about same directory names
...
Related to #652
2017-02-21 20:46:26 +01:00
Alexander Neumann
3d1dc636d0
Merge pull request #817 from restic/add-forget-prune
...
Add `--prune` switch to `forget`
2017-02-21 11:40:30 +01:00
Alexander Neumann
8609ba28d0
Add News section
2017-02-21 11:12:07 +01:00
Alexander Neumann
685f5ebbd1
Add --prune switch to forget
2017-02-21 10:58:30 +01:00
Alexander Neumann
4e2f8145f5
Update Appveyor
2017-02-18 19:09:21 +01:00
Alexander Neumann
11b63d3417
Update Travis
2017-02-18 19:08:11 +01:00
Alexander Neumann
2c81bc35dc
Merge pull request #814 from restic/fix-archiver
...
Correct archiver behavior in case of errors
2017-02-18 19:00:33 +01:00
Alexander Neumann
b8ce1b4e69
Correct archiver behavior in case of errors
2017-02-18 17:46:06 +01:00
Alexander Neumann
23c2717ab2
Merge pull request #809 from restic/fix-xattr
...
WIP: fix panic
2017-02-18 15:00:49 +01:00
Alexander Neumann
132afbe83b
Correct error check for ENOTSUP, add errors.Wrap()
2017-02-18 14:36:37 +01:00
Alexander Neumann
ef52d15edd
Continue if extended attribute cannot be read
2017-02-18 14:35:11 +01:00
Alexander Neumann
6df2f9e5ba
Add support for extended attributes on FreeBSD
2017-02-18 14:35:11 +01:00
Alexander Neumann
eb9be4e884
Use github.com/pkg/xattr for extended attributes
2017-02-18 14:35:06 +01:00
Alexander Neumann
0674f32d79
Merge pull request #766 from jgfrm/nissue25
...
Add support for extended attributes (e.g. ACL)
Closes #766
2017-02-16 11:45:24 +01:00
Jaap Gordijn
49cae0904f
Add support for extended attributes (e.g. ACL)
2017-02-16 11:44:51 +01:00
Alexander Neumann
40685a0e61
Merge pull request #803 from ibib/adds-json-support
...
Adds JSON support for the snapshots command
2017-02-16 11:26:14 +01:00
Alexander Neumann
4772a4986b
Merge pull request #808 from restic/fix-807
...
restore: Make sure buffer is large enough
2017-02-15 19:58:03 +01:00
Alexander Neumann
c973a1f875
Merge pull request #806 from oysols/consistent-cli
...
Fix inconsistencies in CLI
2017-02-15 15:26:27 +01:00
Alexander Neumann
50d066befb
restore: Make sure buffer is large enough
2017-02-15 15:19:28 +01:00
Øystein Olsen
c35e48291d
Fix correct number of arguments for key command
2017-02-13 16:16:34 +01:00
Øystein Olsen
511278b66a
Fix wrong description of rebuild-index command in help text
2017-02-13 16:07:29 +01:00
Øystein Olsen
514a11346d
Add long description of list command in help text
2017-02-13 16:06:27 +01:00
Øystein Olsen
2eb75bb941
Consistently refer to 'the' instead of 'a' repository in help text
2017-02-13 16:05:25 +01:00
Øystein Olsen
9922ce97bf
Use lowercase consistently in help text
2017-02-13 16:02:47 +01:00
ibib
3ed4127297
Adds JSON support for the snapshots command
2017-02-12 21:43:39 +01:00
Alexander Neumann
c83e608cce
Merge pull request #800 from restic/jgfrm-hardlinks-fuse
...
fuse: correct nlink count for directories
2017-02-11 22:09:33 +01:00
Jaap Gordijn
3e2ae15882
Manual: Add section about hard links for fuse
2017-02-11 21:54:54 +01:00
Jaap Gordijn
3047702ded
Correct hardlinks for fuse directories
2017-02-11 21:54:23 +01:00
Alexander Neumann
05cae4911d
Merge pull request #798 from restic/fix-797
...
Checker: Propagate errors properly
2017-02-11 14:55:50 +01:00
Alexander Neumann
8c34eaad15
Improve error message
2017-02-11 14:28:15 +01:00
Alexander Neumann
0492eabff1
Improve error messages
2017-02-11 14:24:11 +01:00
Alexander Neumann
7797e084f9
checker: Pass on error loading an index
2017-02-11 14:22:14 +01:00
Alexander Neumann
b40aa66985
errors: Add method Wrapf
2017-02-11 14:22:04 +01:00
Alexander Neumann
76c06c5f2a
Add check for modified index
2017-02-11 14:13:58 +01:00
Alexander Neumann
83538c745a
Merge pull request #792 from restic/fix-791
...
s3: Increase MaxIdleConnsPerHost
2017-02-11 11:20:20 +01:00
Alexander Neumann
f266741f40
s3/rest: raise connection limit to 40
2017-02-11 10:40:51 +01:00
Alexander Neumann
4795a5c5d1
Merge pull request #795 from restic/fix-767
...
fuse: Add options --allow-other and --allow-root
2017-02-11 10:38:33 +01:00
Alexander Neumann
c14cb62cd7
fuse: Add options --allow-other and --allow-root
...
Closes #767
2017-02-10 21:58:10 +01:00
Alexander Neumann
b3ec01521e
Merge pull request #794 from restic/fix-789
...
Use non-formatting functions of errors for strings
2017-02-10 21:42:59 +01:00
Alexander Neumann
6483df5ee4
Merge pull request #793 from restic/add-host-parameter
...
backup: Add `--hostname` parameter
2017-02-10 21:42:56 +01:00
Alexander Neumann
6275d69a36
fuse: Show link count
2017-02-10 21:16:48 +01:00
Alexander Neumann
6300c8df56
Merge pull request #763 from jgfrm/issue25
...
Support hard links
2017-02-10 20:58:39 +01:00
Jaap Gordijn
366bf4eb0c
Support hard links
...
Closes #152
2017-02-10 20:58:19 +01:00
Alexander Neumann
21b358c742
backend tests: Always close reader
2017-02-10 20:49:46 +01:00
Alexander Neumann
7a0303f7ae
s3: Make sure to return connection token
2017-02-10 20:49:37 +01:00
Alexander Neumann
64165ea4c8
s3: Hold connection semaphore until Close()
2017-02-10 20:17:52 +01:00
Alexander Neumann
c8fc789393
Use non-formatting functions of errors for strings
...
Commands used:
$ gofmt -w -r 'errors.Fatalf(x) -> errors.Fatal(x)' src
$ gofmt -w -r 'errors.Errorf(x) -> errors.New(x)' src
Closes #789
2017-02-10 19:39:49 +01:00
Alexander Neumann
f145e1de0f
backup: Add --hostname parameter
2017-02-10 19:37:33 +01:00
Alexander Neumann
36dee7d892
s3: Increase MaxIdleConnsPerHost
2017-02-10 19:25:42 +01:00
Alexander Neumann
98ae30b513
Update Dockerfile
2017-02-10 17:25:48 +01:00
Alexander Neumann
073edd914d
Merge pull request #783 from opennota/master
...
Fix some typos
2017-02-09 10:43:27 +01:00
Alexander Neumann
316b520ffb
Merge pull request #782 from restic/fix-backup-stdin
...
Make sure backups read from stdin have a file name
2017-02-09 10:42:49 +01:00
opennota
25e459659a
Fix some typos
2017-02-09 06:43:10 +07:00
Alexander Neumann
fdebb022e4
Make sure backups read from stdin have a file name
2017-02-08 22:37:02 +01:00
Alexander Neumann
ed1739acbd
Merge pull request #779 from restic/benchmark-checker
...
checker: Reduce memory usage
2017-02-07 11:03:49 +01:00
Alexander Neumann
1f81919d4a
checker: Reduce memory usage
...
benchmark old bytes new bytes delta
BenchmarkChecker-4 25551348 4288037 -83.22%
2017-02-06 21:19:27 +01:00
Alexander Neumann
436b5dc20c
Add Blob.String()
2017-02-06 19:50:27 +01:00
Alexander Neumann
0c867b21ff
Add benchmark for checker
2017-02-06 19:34:40 +01:00
Alexander Neumann
4cacb622eb
Merge pull request #773 from opennota/master
...
Allow --files-from to take a dash for stdin (fixes #769 )
2017-02-06 14:36:52 +01:00
opennota
24acb09a2a
Allow --files-from to take a dash for stdin ( fixes #769 )
2017-02-06 18:43:44 +07:00
Alexander Neumann
ec45cdba84
Merge pull request #778 from restic/fix-777
...
prune: Close backend reader after download
2017-02-05 20:01:44 +01:00
Alexander Neumann
4ca134a41c
prune: Close backend reader after download
...
Closes #777
2017-02-05 15:40:30 +01:00
Alexander Neumann
b85eae2aea
Merge pull request #775 from restic/improve-backup-stdin
...
Add more tests for reading backups from stdin
2017-02-05 15:29:29 +01:00
Alexander Neumann
aee58a8c17
Add more tests for reading backups from stdin
2017-02-04 16:38:33 +01:00
Alexander Neumann
22f3e21266
Start error message with a lower case character
2017-02-03 17:06:06 +01:00
Alexander Neumann
d0de1ed2e4
Merge pull request #771 from restic/fix-770
...
Return an error if password is not set for stdin
2017-02-03 16:47:00 +01:00
Alexander Neumann
807fcf07d9
Return an error if password is not set for stdin
...
Closes #770
2017-02-03 15:53:07 +01:00
Alexander Neumann
f5faff9020
Merge pull request #768 from brikou/download_link
...
Add note about pre-compiled binaries
2017-02-03 11:11:05 +01:00
Brikou Carré
769a52df16
Bring back "Build restic" paragraph
2017-02-03 10:41:54 +01:00
Brikou Carré
dfb94290ae
Add link to release page in doc
2017-02-03 09:09:49 +01:00
Alexander Neumann
f366a636e6
Fix build_release_binaries.sh
2017-02-02 10:23:18 +01:00
Alexander Neumann
a7c2f28f06
Add VERSION file for 0.4.0
2017-02-02 10:21:29 +01:00
Alexander Neumann
79e198451c
Don't set GOMAXPROCS
...
This was a temporary fix for Go earlier than 1.5 to run code on all
avaialble cores. We don't need that any more since we require at least
Go 1.6.
2017-02-02 10:18:07 +01:00
Alexander Neumann
844c959912
Merge pull request #750 from restic/document-rest-create-repo
...
Document creating a new repo via REST
2017-02-02 10:03:07 +01:00
Alexander Neumann
19ec8f4a77
Add paragraph about code contributions
2017-02-01 12:00:38 +01:00
Alexander Neumann
f5aeda359c
Merge pull request #764 from olgeni/typos
...
Fix typo.
2017-02-01 10:53:46 +01:00
olgeni
5a5687a506
Fix typo.
2017-01-31 10:09:59 +01:00
Alexander Neumann
7e9bfa51e9
REST: Make create repository idempotent
2017-01-30 19:33:17 +01:00
Alexander Neumann
c7d60279f7
Merge pull request #762 from restic/fix-759
...
Add 'index' to list of options for 'cat' command
2017-01-30 18:26:32 +01:00
Alexander Neumann
7d49c65dd0
Merge pull request #761 from restic/fix-758
...
Remove inconsistencies regarding the `cat` command
2017-01-30 18:25:49 +01:00
Alexander Neumann
32dfbad414
Merge pull request #760 from restic/fix-756
...
Allow listing blobs
2017-01-30 18:25:47 +01:00
Alexander Neumann
abd44ca7c5
Add 'index' to list of options for 'cat' command
2017-01-30 10:53:17 +01:00
Alexander Neumann
44f4ff9d37
Remove 'tree' from help text for 'cat' command
2017-01-30 10:50:52 +01:00
Alexander Neumann
658bee17e9
Clean up documentation, remove inconsistencies
2017-01-30 10:48:59 +01:00
Alexander Neumann
524ce01423
Remove 'cat tree' command
2017-01-30 10:48:50 +01:00
Alexander Neumann
41f59ffc78
Fix 'cat' command for tree blobs
2017-01-30 10:48:21 +01:00
Alexander Neumann
d7f52fd7e5
Allow listing blobs
...
Closes #756
2017-01-30 10:28:17 +01:00
Alexander Neumann
1f9db97d33
Merge pull request #728 from cit/improve-snapshot-output
...
Add box-drawing character to the snapshots command
2017-01-29 11:00:13 +01:00
Alexander Neumann
f806d8818d
Add DELETE
2017-01-29 10:55:47 +01:00
Alexander Neumann
1a538509d0
Document creating a new repo via REST
...
Closes #736
2017-01-28 10:31:44 +01:00
Alexander Neumann
b2d00b2a86
Merge pull request #749 from restic/normalise-backend-api
...
Normalise the backend API
2017-01-27 13:30:30 +01:00
Alexander Neumann
31f6093513
Fix tests
2017-01-27 12:47:34 +01:00
Alexander Neumann
b9bddeff39
Normalise the backend API
...
This makes the following changes, before:
type backend interface {
// Test a boolean value whether a File with the name and type exists.
Test(t FileType, name string) (bool, error)
// Remove removes a File with type t and name.
Remove(t FileType, name string) error
}
After:
type backend interface {
// Test a boolean value whether a File with the name and type exists.
Test(h Handle) (bool, error)
// Remove removes a File with type t and name.
Remove(h Handle) error
}
2017-01-26 22:02:22 +01:00
Florian Adamsky
54c2f622a4
Add box-drawing character to the snapshots command
...
Remove underscore of variable name
Format code with gofmt
Change snapshot output according to the discussion
2017-01-26 21:54:27 +01:00
Alexander Neumann
d55b56edd3
Merge pull request #748 from restic/fix-747
...
rest backend: Do not close the reader
2017-01-26 20:20:55 +01:00
Alexander Neumann
8d6fdb7a3e
Fix packer manager test on Windows
2017-01-25 17:51:34 +01:00
Alexander Neumann
dceaae33ed
PackerManager: Remove unused Finalize() method
2017-01-25 17:12:06 +01:00
Alexander Neumann
e8995b85b8
rest backend: Do not close the reader
...
Closes #747
2017-01-25 17:12:06 +01:00
Alexander Neumann
925a3cfad7
backend: Check that backends do not close the reader
2017-01-25 17:12:03 +01:00
Alexander Neumann
c99a44b122
Fix Random() function
2017-01-25 13:26:16 +01:00
Alexander Neumann
439d3107f9
Merge pull request #746 from restic/improve-fuse-memory
...
fuse: Improve memory usage
2017-01-24 14:13:01 +01:00
Alexander Neumann
afc593676a
fuse: Improve memory usage
...
Discard blobs that aren't in use any more. This greatly reduces memory
usage and will probably only trigger on sequential read (e.g. for
restore via fuse).
Closes #480
2017-01-24 12:38:44 +01:00
Alexander Neumann
17d7af6ccc
Merge pull request #745 from restic/fix-742
...
Fix restore/fuse with larger files
2017-01-24 12:12:35 +01:00
Alexander Neumann
0b982d3316
Add restore test with larger files
2017-01-24 11:51:21 +01:00
Alexander Neumann
26da14f315
fuse: improve tests
2017-01-24 11:42:50 +01:00
Alexander Neumann
2de7e03698
repository.LoadBlob: Read correct number of bytes
2017-01-24 11:42:50 +01:00
Alexander Neumann
3d2fbed55f
Add test for LoadBlob
2017-01-24 11:42:50 +01:00
Alexander Neumann
0e445ec0f5
checker: Use TestRepository
2017-01-24 11:42:50 +01:00
Alexander Neumann
31055d88a5
Add debug messages
2017-01-24 11:42:42 +01:00
Alexander Neumann
0d125725bc
Merge pull request #741 from restic/rework-backend-api
...
Rework backend API
2017-01-23 20:18:31 +01:00
Alexander Neumann
8b09b5b3cd
Merge pull request #740 from restic/add-debug-profiles
...
Add debug memory/cpu profile options
2017-01-23 20:18:28 +01:00
Alexander Neumann
2d8a699515
Merge pull request #739 from restic/fix-archiver-test
...
Fix Archiver test: Clean up temp files
2017-01-23 20:18:25 +01:00
Alexander Neumann
0d95507909
Fix test for PackerManager
2017-01-23 19:00:15 +01:00
Alexander Neumann
8e722d8fee
Fix saving pack: close temp file before removing
2017-01-23 18:45:15 +01:00
Alexander Neumann
03292d10cc
backend: Rename Get() -> Load()
2017-01-23 18:11:10 +01:00
Alexander Neumann
cfc9e8b2fa
backends: Remove Load()
2017-01-23 17:54:12 +01:00
Alexander Neumann
f382696ccf
repository: Use ReadAt() instead of Load()
2017-01-23 17:54:12 +01:00
Alexander Neumann
e8fcc7e74c
repack: Use Get() instead of Load()
...
In addition, use a tempfile instead of a buffer.
2017-01-23 17:54:12 +01:00
Alexander Neumann
2bd9c9247c
checker: Remove Load() from test error backend
2017-01-23 17:54:12 +01:00
Alexander Neumann
fc235317fe
backend: Use Get instead of Load for ReaderAt
2017-01-23 17:54:12 +01:00
Alexander Neumann
82d9163955
backend: Ensure Reader is closed on error
2017-01-23 17:54:12 +01:00
Alexander Neumann
4a354befe5
Fix checker test
2017-01-23 17:54:12 +01:00
Alexander Neumann
212936eb52
Make backend.LoadAll() similar to ioutil.ReadAll()
2017-01-23 17:54:12 +01:00
Alexander Neumann
05afedd950
Add backend.Get()
2017-01-23 17:54:11 +01:00
Alexander Neumann
a36c01372d
Use streaming functions for saving data in repo
2017-01-23 17:54:11 +01:00
Alexander Neumann
9b48da5b4e
Change backend Save() function signature
2017-01-23 17:54:11 +01:00
Alexander Neumann
c93f79f0f3
Add hashing package
2017-01-23 17:54:11 +01:00
Alexander Neumann
89a5152f7d
Fix Archiver test: Clean up temp files
2017-01-23 17:53:59 +01:00
Alexander Neumann
47bd9cdf2f
Add options for creating a memory or CPU profile
2017-01-23 17:52:26 +01:00
Alexander Neumann
84255f4f4f
Vendor github.com/pkg/profile
2017-01-23 17:41:07 +01:00
Alexander Neumann
668a36a652
Add option for debug pprof service
2017-01-23 17:27:42 +01:00
Alexander Neumann
30ff7413be
Merge pull request #737 from restic/fix-734
...
Index: Store pack ID
2017-01-22 22:41:16 +01:00
Alexander Neumann
af1cc0717b
Add integration test for forget and prune
2017-01-22 22:23:30 +01:00
Alexander Neumann
5e3365d233
Index: Store pack ID
2017-01-22 22:10:36 +01:00
Alexander Neumann
4f780a01f9
Index: Test pack ID
2017-01-22 22:09:56 +01:00
Alexander Neumann
dc6a832cc3
Correct BenchmarkIndexSave
2017-01-22 09:59:19 +01:00
Alexander Neumann
164ba823e5
Merge pull request #731 from restic/improve-memory-usage
...
Improve memory usage
2017-01-20 15:56:31 +01:00
Alexander Neumann
8dd7fe82ff
Add TestIndexSave
2017-01-20 14:46:14 +01:00
Alexander Neumann
6c1032548b
Correct FAQ
2017-01-19 11:47:33 +01:00
Alexander Neumann
f0eeb16b33
Merge pull request #729 from restic/add-faq
...
Add FAQ document
2017-01-19 11:42:38 +01:00
Alexander Neumann
c88b0d20e8
Correct typo
2017-01-18 21:57:59 +01:00
Alexander Neumann
fbecae7362
Add FAQ document
2017-01-18 21:48:39 +01:00
Alexander Neumann
38ba5fbceb
Merge pull request #727 from MirkoDziadzka/fix-typo
...
fix typo: outputcomprehensive
2017-01-18 11:46:56 +01:00
Mirko Dziadzka
d47758a540
fix typo
2017-01-18 10:46:04 +01:00
Alexander Neumann
dac18e3bf8
Improve BenchmarkIndexSave
2017-01-17 13:00:59 +01:00
Alexander Neumann
c4f44c7bcb
Reduce memory consuption of TestCreateSnapshot
2017-01-17 12:56:20 +01:00
Alexander Neumann
73ad3d418d
Index: Remove unneeded allocation
2017-01-17 12:46:41 +01:00
Alexander Neumann
36276c41b2
Add Benchmark for IndexSave
2017-01-17 10:40:58 +01:00
Alexander Neumann
d40f566e41
Index: Use slices instead of maps, reduce data
2017-01-17 10:40:58 +01:00
Alexander Neumann
cd9b526203
Preallocate pack entries list
2017-01-17 10:40:58 +01:00
Alexander Neumann
caabc4ec44
Reduce memory usage while decoding index
2017-01-17 10:40:58 +01:00
Alexander Neumann
73e7a2bea8
Add BenchmarkLoadIndex
2017-01-17 10:40:58 +01:00
Alexander Neumann
e463587bad
Add BenchmarkDecodeIndex
2017-01-17 10:40:57 +01:00
Alexander Neumann
e571b6a656
Use the same buffer for decryption
2017-01-17 10:40:57 +01:00
Alexander Neumann
710499cf46
Add benchmark for LoadAndDecrypt
2017-01-17 10:40:57 +01:00
Alexander Neumann
32a5c2c1f6
Add a few functions to calculate Blob buffer len
2017-01-17 10:40:57 +01:00
Alexander Neumann
91dcb958e0
Fix tests
2017-01-17 10:40:57 +01:00
Alexander Neumann
9a5b9253c4
LoadBlob: use buffer as scratch space
...
benchmark old bytes new bytes delta
BenchmarkLoadBlob-4 1010128 2256 -99.78%
2017-01-17 10:40:57 +01:00
Alexander Neumann
215af5c60a
Add LoadBlob benchmark
2017-01-17 10:40:57 +01:00
Alexander Neumann
8734c2466c
Fix call to debug.Log()
2017-01-17 10:40:57 +01:00
Alexander Neumann
0556687584
Reduce memory usage for prune
2017-01-17 10:40:57 +01:00
Alexander Neumann
094e80f4a4
Merge pull request #723 from ulziibuyan/ls-latest-cmd
...
Added latest keyword in ls command.
2017-01-15 12:40:58 +01:00
Uzi
c13a0953c8
User interface inconsistency fixed
2017-01-14 11:19:47 +08:00
Alexander Neumann
9f1f174c99
Add script to build release binaries
2017-01-12 19:52:03 +01:00
Alexander Neumann
7e0a4c66e7
build.go: Make binaries completely static (disables cgo)
2017-01-12 19:51:26 +01:00
Alexander Neumann
62b1056860
build.go: Allow setting the output file name
2017-01-12 19:51:08 +01:00
Alexander Neumann
a3181dbead
CI: cross-compile for OpenBSD
2017-01-12 19:50:41 +01:00
Uzi
02c02283cf
Added latest keyword in ls command.
2017-01-12 19:24:08 +08:00
Alexander Neumann
4d93da9f68
Add VERSION file for 0.3.3
2017-01-08 10:46:43 +01:00
Alexander Neumann
4a6086a14b
Merge pull request #718 from mholt/flag-priority
...
CLI options now override env vars
2017-01-02 20:31:20 +01:00
Matthew Holt
0a34a2d5d8
Consider the environment
2017-01-02 12:21:30 -07:00
Matthew Holt
a394b675b0
CLI options now override env vars
2017-01-02 11:14:22 -07:00
Alexander Neumann
04846b10bc
Merge pull request #717 from restic/fix-367
...
Only add entries to indexes inside PackerManager
2017-01-02 17:18:59 +01:00
Alexander Neumann
f9501e97a2
Only add entries to indexes inside PackerManager
...
This was a nasty bug. Users reported that restic aborts with panic:
panic: store new item in finalized index
The code calling panic() is in the Store() method of an index and guards
the failure case that an index is to be modified while it has already
been saved in the repo.
What happens here (at least that's what I suspect): PackerManager calls
Current() on a MasterIndex, which yields one index A. Concurrently,
another goroutine calls Repository.SaveFullIndex(), which in turn calls
MasterIndex.FullIndexes(), which (among others) yields the index A. Then
all indexes are marked as final. Then the other goroutine is executed
which adds an entry to the index A, which is now marked as final. Then
the panic occurs.
The commit solves this by removing MasterIndex.Current() and adding a
Store() method that stores the entry in one non-finalized index. This
method uses the same RWMutex as the other methods (e.g. FullIndexes()),
thereby ensuring that the full indexes can only be processed before or
after Store() is called.
Closes #367
2017-01-02 14:14:51 +01:00
Alexander Neumann
3ef788765a
Merge pull request #715 from zcalusic/master
...
Document REST backend
2017-01-02 11:13:35 +01:00
Alexander Neumann
8e16931949
Merge pull request #716 from zcalusic/rest-server-new-location
...
Rest server moved to https://github.com/restic/rest-server
2017-01-02 11:12:37 +01:00
Zlatko Čalušić
2267aca296
Rest server moved to https://github.com/restic/rest-server
2017-01-01 16:22:46 +01:00
Zlatko Čalušić
c70bc7ed0b
Document REST backend
...
Closes #644
2016-12-31 13:14:44 +01:00
Alexander Neumann
8e3b81c5ec
Merge pull request #713 from restic/update-travis
...
Update .travis.yml
2016-12-30 17:21:27 +01:00
Alexander Neumann
30975f7116
Update appveyor configuration
2016-12-30 17:07:42 +01:00
Alexander Neumann
0ef463d56a
Update .travis.yml
2016-12-30 15:21:49 +01:00
Alexander Neumann
5132f5bfe6
Merge pull request #709 from restic/fix-708
...
Make sure cleanup is executed before exiting
2016-12-28 18:28:07 +01:00
Alexander Neumann
80457018d7
Make sure cleanup is executed before exiting
...
Closes #708
2016-12-28 10:53:31 +01:00
Alexander Neumann
b0997d05fb
Merge pull request #704 from restic/remove-timestamp
...
Remove timestamp from `version` command
2016-12-19 22:22:43 +01:00
Alexander Neumann
3add2f0acb
Merge pull request #703 from sjoerdsimons/master
...
Avoid duplicate backup paths
2016-12-19 22:21:18 +01:00
Alexander Neumann
166d1811a1
Remove timestamp from version command
...
This enables reproducible builds, for details see
https://reproducible-builds.org/docs/timestamps/
2016-12-19 21:14:12 +01:00
Sjoerd Simons
e1fc455079
Avoid duplicate backup paths
...
Target directories from the from-files argument get added to the command
line args, after which all command line args were appended to the same
variable again causing duplicates. Split the used variables to avoid
this.
Signed-off-by: Sjoerd Simons <sjoerd@luon.net >
2016-12-18 23:23:57 +01:00
Alexander Neumann
98237bf942
Add VERSION file for 0.3.2
2016-12-18 18:53:03 +01:00
Alexander Neumann
75f21f23ff
Merge pull request #700 from restic/debug-panic
...
Make sure SaveFile always returns a node
2016-12-14 21:29:04 +01:00
Alexander Neumann
9885aeac3b
Make sure SaveFile always returns a node
2016-12-14 18:56:11 +01:00
Alexander Neumann
85c87b9ab9
Add VERSION file for 0.3.1
2016-12-13 21:36:22 +01:00
Alexander Neumann
51cd78e16c
Merge pull request #691 from restic/fix-604
...
Correctly save modified files
2016-12-10 17:31:20 +01:00
Alexander Neumann
e6a40af06d
Treat changed files as a warning, not an error
2016-12-10 17:14:13 +01:00
Alexander Neumann
3fcbb4ac25
Use new Node if file has changed
...
Closes #604
2016-12-10 16:54:20 +01:00
Alexander Neumann
7d71bad4eb
Test if modified files are correctly saved
2016-12-10 16:36:58 +01:00
Alexander Neumann
dbdfed6343
Merge pull request #690 from zcalusic/master
...
Even if file changes size during backup, still save it
2016-12-10 12:36:56 +01:00
Alexander Neumann
5e48c1fadc
Merge pull request #688 from restic/fix-686
...
Save snapshot after saving all pack files
2016-12-10 12:33:58 +01:00
Zlatko Čalušić
deb6dd7f72
Even if file changes size during backup, still save it
...
Previously such files (typically log files) wouldn't be backed up at
all!
The proper behaviour is to backup what we can, and warn the operator
that file is possibly not complete. But it is a warning, not an error.
Closes #689
2016-12-10 12:24:45 +01:00
Alexander Neumann
c265673c8e
Save snapshot after saving all pack files
...
Closes #686
2016-12-10 11:49:09 +01:00
Alexander Neumann
0fceeb20f1
Merge pull request #685 from jannic/patch-1
...
Update debug message
2016-12-06 08:16:33 +01:00
Jan Niehusmann
c5897e0d62
Update debug message
...
Since client.BucketExists was changed to return a separate 'found' value, instead of reporting an error when the bucket doesn't exist, the error code path does no longer imply a call to client.MakeBucket. So the second part of the debug message, "...trying to create the bucket" doesn't apply any more.
Also, changed the name of the return value from 'ok' to 'found', matching the API documentation at https://docs.minio.io/docs/golang-client-api-reference#BucketExists .
2016-12-05 23:12:30 +01:00
Alexander Neumann
8d13f22c50
Merge pull request #683 from jannic/pr1
...
Omit "archived as %v" messages in quiet mode.
2016-12-03 11:15:24 +01:00
Alexander Neumann
1815536534
Update build.go
2016-12-03 11:14:30 +01:00
Jan Niehusmann
9267c25aa0
Omit "archived as %v" messages in quiet mode.
2016-12-03 10:28:49 +01:00
Alexander Neumann
281cbbdf2e
Merge pull request #682 from jpmens/patch-1
...
Small typo in dry-run of remove snapshot
2016-12-03 10:11:58 +01:00
JP Mens
5996d671a0
Small typo in dry-run of remove snapshot
2016-12-02 17:33:05 +01:00
Alexander Neumann
ef9b974bcd
Merge pull request #681 from zcalusic/master
...
Stop trying to detect Go version
2016-12-02 11:15:29 +01:00
Zlatko Čalušić
7e66b73ce0
Stop trying to detect Go version
...
It fails on pre-release versions, anyway. It's enough to mention the oldest
supported version in README.md. Anything older than two latest Go releases
is bad idea, anyway, 'cause it's unsupported by Go development team.
Closes #680
2016-12-01 20:06:23 +01:00
Alexander Neumann
505a2097ad
Manual: Add note about s3 bucket locations
2016-11-27 20:18:57 +01:00
Alexander Neumann
07380878fb
Merge pull request #678 from restic/fix-676
...
Update github.com/elithrar/simple-scrypt
2016-11-19 19:22:44 +01:00
Alexander Neumann
3b29ae3c99
Update github.com/elithrar/simple-scrypt
...
Closes #676
2016-11-19 17:13:13 +01:00
Alexander Neumann
e5617b5fd1
Merge pull request #675 from restic/parent-check-hostname
...
Use the hostname filter to find a parent snasphot
2016-11-19 12:42:40 +01:00
Alexander Neumann
11f23ae663
Merge pull request #673 from Novex/restore-directory-metadata-for-existing-directories
...
Don't consider a pre-existing directory in the restore path to be a failure
2016-11-19 12:42:31 +01:00
Alexander Neumann
2828003d60
Test that existing files and dirs are restored
2016-11-15 21:41:41 +01:00
Alexander Neumann
16cef3b4c6
Use the hostname filter to find a parent snasphot
...
Closes #674
2016-11-15 21:04:51 +01:00
Alexander Neumann
699f39e3cf
FindLatestSnapshot: Rename parameter to clarify meaning
2016-11-15 21:03:54 +01:00
Seb Patane
33b6a7381b
Don't consider a pre-existing directory in the restore path to be a failure
...
* When a directory already exists, CreateDirAt returns an error stating so
* This means that the restoreMetadata step is skipped, so for directories which already exist no file permissions, owners, groups, etc will be restored on them
* Not returning the error if it's a "directory exists" error means the metadata will get restored
* It also removes the superfluous "error for ...: mkdir ...: file exists" messages
* This makes the behaviour of directories consistent with that of files (which always have their content & metadata restored, regardless of whether they existed or not)
2016-11-14 17:53:09 +10:00
Alexander Neumann
190673b24a
Merge pull request #657 from AlexanderThaller/read_backup_files_from_file
...
Read files to backup from a file
2016-11-12 21:47:11 +01:00
Alexander Thaller
b7b03dbd4a
Added new flag to backup subcommand that reads the files to backup from a file
2016-11-12 15:45:32 +01:00
Alexander Neumann
56009dd16e
Merge pull request #670 from restic/remove-fadvise
...
Remove fadvise
2016-11-10 23:42:21 +01:00
Alexander Neumann
b56bde3f61
Remove fadvise
...
This commit removes the use of FADV_DONTNEED, which also purges active
cached pages for other processes.
2016-11-10 22:21:22 +01:00
Alexander Neumann
b1ed74eb43
Merge pull request #669 from zcalusic/master
...
Fix REST backend HTTP keepalive
2016-11-10 21:05:14 +01:00
Zlatko Čalušić
d8f0e7cbd1
Fix REST backend HTTP keepalive
...
This is subtle. A combination od fast client disk (read: SSD) with lots
of files and fast network connection to restic-server would suddenly
start getting lots of "dial tcp: connect: cannot assign requested
address" errors during backup stage. Further inspection revealed that
client machine was plagued with TCP sockets in TIME_WAIT state. When
ephemeral port range was finally exhausted, no more sockets could be
opened, so restic would freak out.
To understand the magnitude of this problem, with ~18k ports and default
timeout of 60 seconds, it means more than 300 HTTP connections per
seconds were created and teared down. Yeah, restic-server is that
fast. :)
As it turns out, this behavior was product of 2 subtle issues:
1) The body of HTTP response wasn't read completely with io.ReadFull()
at the end of the Load() function. This deactivated HTTP keepalive,
so already open connections were not reused, but closed instead, and
new ones opened for every new request. io.Copy(ioutil.Discard,
resp.Body) before resp.Body.Close() remedies this.
2) Even with the above fix, somehow having MaxIdleConnsPerHost at its
default value of 2 wasn't enough to stop reconnecting. It is hard to
understand why this would be so detrimental, it could even be some
subtle Go runtime bug. Anyhow, setting this value to match the
connection limit, as set by connLimit global variable, finally nails
this ugly bug.
I fixed several other places where the response body wasn't read in
full (or at all). For example, json.NewDecoder() is also known not to
read the whole body of response.
Unfortunately, this is not over yet. :( The check command is firing up
to 40 simultaneous connections to the restic-server. Then, once again,
MaxIdleConnsPerHost is too low to support keepalive, and sockets in the
TIME_WAIT state pile up. But, as this kind of concurrency absolutely
kill the poor disk on the server side, this is a completely different
bug then.
2016-11-10 09:32:07 +01:00
Alexander Neumann
5e721afb5d
doc/mkdocs: Improve code hilighting
...
Additionally, refresh the restic sample output.
2016-11-08 20:23:39 +01:00
Alexander Neumann
149c01a86a
Merge pull request #659 from restic/device-freebsd
...
fs.DeviceID(): Return errors whehn fi is nil
2016-11-05 13:35:16 +01:00
Alexander Neumann
51322a1055
selectFunc: handle nil
2016-11-05 12:38:33 +01:00
Alexander Neumann
c5bc802ff0
fs.DeviceID(): Return errors when fi is nil
2016-11-05 12:38:17 +01:00
Alexander Neumann
6b88d3b5d0
Merge pull request #651 from justinclift/issue649v1
...
Remove redundant check of error var e
2016-10-26 16:06:14 +02:00
Justin Clift
ecc1f92787
Remove redundant check of error var e
...
As per #649
2016-10-25 18:10:53 +01:00
Alexander Neumann
d4f76fbe26
Merge pull request #650 from restic/forget-remove-index-load
...
forget: do not load index
2016-10-24 14:33:11 +02:00
Alexander Neumann
1dd72693f9
forget: Remove unneeded index loading
2016-10-24 14:01:23 +02:00
Alexander Neumann
fe1013e779
cmds/ls: Format timestamp
2016-10-19 22:11:37 +02:00
Alexander Neumann
84ca5172f0
Remove Debian UID from GPG key printout
2016-10-17 13:10:16 +02:00
Alexander Neumann
7c49255c2a
Add hints how to use the go tool and direnv
2016-10-17 13:09:56 +02:00
Alexander Neumann
a5a9c42185
Merge pull request #646 from stakewinner00/master
...
don't print status info when running in the background
2016-10-15 20:09:42 +02:00
David
5f8a6cea6f
don't print status info if running in the background
...
clean
fix OS issues & format code
fix issues
2016-10-15 18:12:19 +00:00
Alexander Neumann
50212805aa
Merge pull request #643 from restic/update-poly1305
...
Update golang.org/x/crypto/poly1305
2016-10-14 15:51:57 +02:00
Alexander Neumann
cd7feb0148
Update golang.org/x/crypto/poly1305
2016-10-14 12:44:06 +02:00
Alexander Neumann
974f2f78a9
Merge pull request #641 from restic/fix-640
...
Improve error message for 'forget'
2016-10-13 20:41:29 +02:00
Alexander Neumann
250b36eeb1
Improve error message for 'forget'
...
$ bin/restic forget /d 7 /w 4 /m 12
argument "/d" is not a snapshot ID, ignoring
argument "7" is not a snapshot ID, ignoring
argument "/w" is not a snapshot ID, ignoring
argument "4" is not a snapshot ID, ignoring
argument "/m" is not a snapshot ID, ignoring
cound not find a snapshot for ID "12", ignoring
2016-10-10 20:55:02 +02:00
Alexander Neumann
6f72164bbe
Merge pull request #638 from hmsdao/patch-fixpath
...
Added long paths fix for samba network shares
2016-10-05 17:07:53 +02:00
Daniel Örn
ba8d960c8f
using backtics instead of doublequotes
2016-10-05 08:26:32 +02:00
Daniel Örn
84421a7c68
structured file with gofmt
2016-10-05 07:30:46 +02:00
Daniel Örn
5c7325f44a
Added long paths fix for samba network shares
2016-10-05 07:09:56 +02:00
Alexander Neumann
c45b498a8b
Merge pull request #637 from ckemper67/s3-join
...
Use path.Join to create the s3 object name within the bucket.
2016-10-03 22:38:28 +02:00
Christian Kemper
a4261dcc9c
Use path.Join to create the s3 object name within the bucket.
...
path.Join already automatically skips empty path segments when
joining, so this simplifies the s3Path code.
2016-10-02 16:56:07 -07:00
Alexander Neumann
d1ecdf7441
Add VERSION file for 0.3.0
2016-10-02 18:24:14 +02:00
Alexander Neumann
088ca033f8
Reword README
2016-10-02 16:08:05 +02:00
Alexander Neumann
5b7dd32c20
Manual: Reword section about fuse support
2016-10-02 16:03:02 +02:00
Alexander Neumann
eb94395f3d
Merge pull request #635 from restic/fix-633
...
Fix short-hand option clash
2016-09-29 21:39:05 +02:00
Alexander Neumann
22f5fc5739
Improve help text for slice options
2016-09-29 20:39:55 +02:00
Alexander Neumann
e994cacbfe
Fix short-hand option clash
2016-09-29 20:37:45 +02:00
Alexander Neumann
3114d41cb7
Merge pull request #632 from restic/rework-debug
...
Rework debug message printing
2016-09-28 21:11:02 +02:00
Alexander Neumann
968b2ece43
Add section to the manual about debug message filters
2016-09-28 20:22:22 +02:00
Alexander Neumann
feed54caef
Remove timing, simplify function matching
2016-09-28 20:10:40 +02:00
Alexander Neumann
4eddcb344e
Update calls to debug.Log()
2016-09-28 19:56:03 +02:00
Alexander Neumann
2ae06a7a01
Rework debug log function
2016-09-28 19:56:03 +02:00
Alexander Neumann
25945718a1
Fix recursive call to debug.Log
2016-09-28 19:56:03 +02:00
Alexander Neumann
254188f38f
Merge pull request #631 from restic/switch-to-cobra
...
Switch to cobra/pflag for CLI
2016-09-28 19:54:59 +02:00
Alexander Neumann
3601c39177
Add comments
2016-09-27 20:22:01 +02:00
Alexander Neumann
02f7bb0d4c
Add mousetrap library for Windows
2016-09-27 20:13:22 +02:00
Alexander Neumann
565d72ef36
Use cobra for all commands
2016-09-27 19:53:03 +02:00
Alexander Neumann
3806623c23
Vendor cobra and pflag
2016-09-27 19:52:48 +02:00
Alexander Neumann
0fa12839a5
Remove go-flags
2016-09-27 19:52:48 +02:00
Alexander Neumann
a257a613d7
Fix debug log
2016-09-27 19:52:48 +02:00
Alexander Neumann
0a752b9fab
test helpers: Always print stack trace
2016-09-27 19:50:26 +02:00
Alexander Neumann
eeec0d63c2
Merge pull request #630 from restic/remove-unused
...
Remove unused bits and pieces
2016-09-24 12:03:26 +02:00
Alexander Neumann
04d6b5da2f
Remove more unused bits
2016-09-21 20:45:18 +02:00
Alexander Neumann
1dfd3b8aa3
Remove unused bits and pieces
...
Reported by https://github.com/dominikh/go-unused
2016-09-21 20:22:32 +02:00
Alexander Neumann
0873821b98
Add section about --one-file-system to manual
2016-09-18 20:18:52 +02:00
Alexander Neumann
0a9cbd47c7
Merge pull request #626 from rfjakob/master
...
Add "-x", "--one-file-system" option
2016-09-18 20:03:58 +02:00
Alexander Neumann
b61027b48d
Merge pull request #627 from restic/fix-fuse-test
...
fuse: fix tests for snapshots with same timestamps
2016-09-18 19:55:12 +02:00
Jakob Unterwurzacher
53701891a1
Add "-x", "--one-file-system" option
...
Equivalent to rsync's "-x" option.
Notes to the naming:
"--exclude-other-filesystems"
is used by Duplicity,
"--one-file-system"
is used rsync and tar.
This latter should be more familiar to the user.
2016-09-18 18:52:30 +02:00
Alexander Neumann
68b462d057
fuse: Add test for same timestamps
2016-09-18 18:30:25 +02:00
Alexander Neumann
649f789190
fuse: Fix test for timestamps with same second
2016-09-18 18:13:39 +02:00
Alexander Neumann
7b3e319398
Merge pull request #625 from restic/fix-624
...
fuse: correctly handle snapshots
2016-09-18 15:35:50 +02:00
Alexander Neumann
5494c1858e
fuse: correctly handle snapshots
...
The fuse code kept adding snapshots to the top-level dir "snapshots". In
addition, snapshots with the same timestamp (same second) were not added
correctly, they will now be suffixed by an incrementing counter, e.g.:
dr-xr-xr-x 1 fd0 users 0 Sep 18 15:01 2016-09-18T15:01:44+02:00
dr-xr-xr-x 1 fd0 users 0 Sep 18 15:01 2016-09-18T15:01:48+02:00
dr-xr-xr-x 1 fd0 users 0 Sep 18 15:01 2016-09-18T15:01:48+02:00-1
Closes #624
2016-09-18 15:04:39 +02:00
Alexander Neumann
c5763e59d5
Merge pull request #623 from restic/fix-622
...
Improve error messages for open repo
2016-09-18 14:04:30 +02:00
Alexander Neumann
b090c73bd4
Remove wrapper functions in errors package
...
This way, our own errors package does not appear in the stack traces.
2016-09-18 13:28:59 +02:00
Alexander Neumann
2b9a408ccc
Return a fatal for location.Parse
2016-09-18 13:28:41 +02:00
Alexander Neumann
83c35bd6b5
Do not print stack trace when open repo failed
...
Closes #622
2016-09-18 13:24:46 +02:00
Alexander Neumann
98b012a04e
Merge pull request #620 from restic/watch-529
...
Add verbose error when marshalling a node fails
2016-09-17 11:05:00 +02:00
Alexander Neumann
a9af896ddd
Add verbose error when marshalling a node fails
...
This code is introduced to watch for issue #529 , in which two users
describe that restic failed encoding a time in a node to JSON with the
error message:
panic: json: error calling MarshalJSON for type *restic.Node: json: error calling MarshalJSON for type time.Time: Time.MarshalJSON: year outside of range [0,9999]
The error message now is:
panic: Marshal: json: error calling MarshalJSON for type *restic.Node: node /home/fd0/shared/work/restic/restic/.git/hooks/applypatch-msg.sample has invalid ModTime year -1: -0001-01-02 03:04:05.000000006 +0053 LMT
2016-09-17 10:43:04 +02:00
Alexander Neumann
309dca8179
Merge pull request #619 from restic/update-deps
...
Update all vendored dependencies
2016-09-15 22:50:44 +02:00
Alexander Neumann
8144cd24d6
Add golang.org/x/crypto/ed25519
2016-09-15 22:36:49 +02:00
Alexander Neumann
0ce8191be5
Add golang.org/x/crypto/curve25519
2016-09-15 22:36:29 +02:00
Alexander Neumann
595f2582fa
Update golang.org/x/sys/unix
2016-09-15 22:35:45 +02:00
Alexander Neumann
da83bd8265
Upadte golang.org/x/net/context
2016-09-15 22:34:06 +02:00
Alexander Neumann
799cc37c22
Update golang.org/x/crypto/ssh
2016-09-15 22:33:32 +02:00
Alexander Neumann
35ba817128
Update golang.org/x/crypto/scrypt
2016-09-15 22:32:38 +02:00
Alexander Neumann
29a61950dd
Update golang.org/x/crypto/poly1305
2016-09-15 22:32:17 +02:00
Alexander Neumann
acd39eaab5
Update golang.org/x/crypto/pbkdf2
2016-09-15 22:31:49 +02:00
Alexander Neumann
3d55b54f3d
Update github.com/pkg/sftp
2016-09-15 22:31:18 +02:00
Alexander Neumann
daae3500dd
Update branch for github.com/kr/fs
2016-09-15 22:30:27 +02:00
Alexander Neumann
64fe9ec048
Update github.com/jessevdk/go-flags
2016-09-15 22:29:49 +02:00
Alexander Neumann
cb80a70aca
Update bazil.org/fuse
2016-09-15 22:26:23 +02:00
Alexander Neumann
24398d2b9d
Merge pull request #618 from restic/rework-ci-fuse-tests
...
Cleanup CI tests for fuse
2016-09-15 21:53:44 +02:00
Alexander Neumann
d4a2d70089
Retry umount for integration tests
2016-09-15 21:37:50 +02:00
Alexander Neumann
9add72e9d6
Exclude unneeded test run without fuse tests
2016-09-15 21:37:50 +02:00
Alexander Neumann
e7fc908ff1
Run fuse tests on Linux
2016-09-15 21:25:59 +02:00
Alexander Neumann
4ffca0f4b4
Improve integration tests for fuse
2016-09-15 21:17:20 +02:00
Alexander Neumann
a0f3e94655
fuse: handle duplicate timestamps for snapshots
...
This closes #606 , which fails because several snapshots are created with
exactly the same timestamp, and the code checks that for each snapshot
there is a dir in the fuse mount. This fails for colliding timestamps,
so we now add a suffix "-1", "-2" etc for each duplicate timestamp.
2016-09-15 21:15:49 +02:00
Alexander Neumann
6485a6cdc0
Simplify mount logic
2016-09-15 19:59:07 +02:00
Alexander Neumann
931f5cdd33
Merge pull request #616 from restic/add-snapshot-tags
...
Add tags to snapshots
2016-09-14 20:58:12 +02:00
Alexander Neumann
3975d76f23
Correct filenames for expire policy tests
2016-09-13 21:20:41 +02:00
Alexander Neumann
bf6602bc1b
Update golden file
2016-09-13 21:19:57 +02:00
Alexander Neumann
a85ffc66ae
Add documentation for tags
2016-09-13 21:09:55 +02:00
Alexander Neumann
828267aaa3
Fix status for stdin archiver
2016-09-13 21:01:29 +02:00
Alexander Neumann
a77c615909
Fix 'forget' command with tags
2016-09-13 20:56:18 +02:00
Alexander Neumann
cfdf4c92f7
Add --keep-tag to forget command
2016-09-13 20:37:11 +02:00
Alexander Neumann
0f9fb37c78
Add tags to forget command
2016-09-13 20:20:55 +02:00
Alexander Neumann
673bce936e
Add tags to 'backup' and 'snapshots' commands
2016-09-13 20:20:52 +02:00
Alexander Neumann
1f83635267
Add tags to snapshots and filter
2016-09-13 20:12:55 +02:00
Alexander Neumann
2d7e1b5804
Merge pull request #615 from kerel-fs/fix/manual
...
doc/Manual: Update usage help listing
2016-09-12 21:20:18 +02:00
Fabian P. Schmidt
085cf36199
doc/Manual: Update usage help listing
2016-09-12 20:42:38 +02:00
Alexander Neumann
ceb4a3ecc0
Merge pull request #613 from restic/read-password-from-file
...
Read password from file
2016-09-12 20:37:08 +02:00
Alexander Neumann
cf7795ce64
Merge pull request #614 from restic/improve-prune-stats
...
Improve statistics for `prune`
2016-09-12 20:37:00 +02:00
Alexander Neumann
223dc78acb
Improve statistics for prune
...
Sample:
counting files in repo
building new index for repo
[0:00] 100.00% 22 / 22 packs
repository contains 22 packs (1377 blobs) with 90.610 MiB bytes
processed 1377 blobs: 0 duplicate blobs, 0B duplicate
load all snapshots
find data that is still in use for 1 snapshots
[0:00] 100.00% 1 / 1 snapshots
found 409 of 1377 data blobs still in use, removing 968 blobs
will delete 10 packs and rewrite 10 packs, this frees 64.232 MiB
creating new index
[0:00] 100.00% 7 / 7 packs
saved new index as df467c6e
done
Closes #581
2016-09-12 14:26:47 +02:00
Alexander Neumann
f63cd12569
Document new option
2016-09-12 14:10:36 +02:00
Alexander Neumann
65afeba19a
Add option to read the password from a file
2016-09-12 14:09:22 +02:00
Alexander Neumann
791f73e0db
Merge pull request #608 from rosetree/patch-1
...
Fix a small typo in `stdin` example
2016-09-05 19:27:26 +02:00
Micha Rosenbaum
8ded453ab0
Fix a small typo in stdin example
...
s/--stdin-filenam/--stdin-filename/
2016-09-05 19:01:53 +02:00
Alexander Neumann
e443454c4b
Add OS and Arch to 'version' output
2016-09-04 15:46:50 +02:00
Alexander Neumann
1dd9a58e5a
Merge pull request #600 from restic/restructure
...
WIP: restructure code
2016-09-04 15:36:26 +02:00
Alexander Neumann
b628bcee27
Remove redundant ParseID
2016-09-04 14:38:18 +02:00
Alexander Neumann
dfc0cbf3a8
Use one test password
2016-09-04 14:30:14 +02:00
Alexander Neumann
512a92895f
Rename WithTestEnvironment -> Env
2016-09-04 14:29:04 +02:00
Alexander Neumann
6ab425f130
Remove SetupRepo
2016-09-04 13:24:51 +02:00
Alexander Neumann
f5b9ee53a3
Fix mock.Repository
2016-09-04 13:18:25 +02:00
Alexander Neumann
ea073f58cf
Correct comment
2016-09-04 13:08:09 +02:00
Alexander Neumann
bef5c4acb8
Add mock.Repository, Rework SetupRepo
2016-09-04 12:52:43 +02:00
Alexander Neumann
b5b3c0eaf8
Add repository.SaveTree
2016-09-03 21:10:25 +02:00
Alexander Neumann
1fb80bf0e2
Fix fuse mount
2016-09-03 21:10:25 +02:00
Alexander Neumann
436332d5f2
LoadDataBlob -> LoadBlob
2016-09-03 21:10:25 +02:00
Alexander Neumann
fe8c12c798
Replace repolitoy.SaveAndEncrypt to SaveBlob()
2016-09-03 21:10:25 +02:00
Alexander Neumann
1cc59010f5
Remove LoadJSONPack, un-export loadBlob
2016-09-03 21:10:25 +02:00
Alexander Neumann
878c1cd936
Add more comments
2016-09-03 21:10:25 +02:00
Alexander Neumann
5170c4898a
Address hound comments
2016-09-03 21:10:25 +02:00
Alexander Neumann
2054e3c026
Fix tests
2016-09-03 21:10:25 +02:00
Alexander Neumann
ffbe05af9b
Rework crypto, use restic.Repository everywhere
2016-09-03 21:10:25 +02:00
Alexander Neumann
84f95a09d7
Introduce LoadTreeBlob and LoadDataBlob
2016-09-03 21:10:25 +02:00
Alexander Neumann
573410afab
Fix archiver test
2016-09-03 21:10:25 +02:00
Alexander Neumann
619939ccd9
Reorder methods in interface Repository
2016-09-03 21:10:25 +02:00
Alexander Neumann
714a5d1dc4
Move tree walker to restic/walk
2016-09-03 21:10:25 +02:00
Alexander Neumann
bc42dbdf87
Create package restic/errors
2016-09-03 21:10:24 +02:00
Alexander Neumann
765b5437bd
Fix command 'dump'
2016-09-03 21:10:24 +02:00
Alexander Neumann
5d7b38cabf
Remove sentinel errors
2016-09-03 21:10:24 +02:00
Alexander Neumann
debf1fce54
Remove IDSize, TestRandomID -> NewRandomID
2016-09-03 21:10:24 +02:00
Alexander Neumann
0045f2fb61
Remove functions
2016-09-03 21:10:24 +02:00
Alexander Neumann
5764b55aee
Rename Node.FileType -> Type
2016-09-03 21:10:24 +02:00
Alexander Neumann
5e3a41dbd2
Rename struct member FileType -> Type
2016-09-03 21:10:24 +02:00
Alexander Neumann
88d0f24ce7
Reduce lock timeout to zero
2016-09-03 21:10:24 +02:00
Alexander Neumann
eb6e3ba8b3
Fix imported package
2016-09-03 21:10:24 +02:00
Alexander Neumann
528c301891
Last fixes for integration tests
2016-09-03 21:10:24 +02:00
Alexander Neumann
f7ae0cb78f
Fix cmds/restic for new structure
2016-09-03 21:10:24 +02:00
Alexander Neumann
3695ba5882
Tests pass for restic/
2016-09-03 21:10:24 +02:00
Alexander Neumann
4c95d2cfdc
wip
2016-09-03 21:10:24 +02:00
Alexander Neumann
cc6a8b6e15
wip
2016-09-03 21:10:24 +02:00
Alexander Neumann
51d8e6aa28
wip
2016-09-03 21:10:24 +02:00
Alexander Neumann
f0600c1d5f
wip
2016-09-03 21:10:24 +02:00
Alexander Neumann
90da66261a
Copy ID from backend to restic
2016-09-03 21:10:24 +02:00
Alexander Neumann
82c2dafb23
Copy interfaces and basic types to package restic/
2016-09-03 21:10:24 +02:00
Alexander Neumann
bfdd26c541
Remove (unused) cache implementation
2016-09-03 21:10:24 +02:00
Alexander Neumann
e699f6d1bd
Update doc comment
2016-09-03 21:10:24 +02:00
Alexander Neumann
fae65ebc61
Merge pull request #602 from restic/update-chunker
...
Update chunker
2016-09-03 21:10:18 +02:00
Alexander Neumann
f744c3534d
Update chunker
2016-09-03 20:56:21 +02:00
Alexander Neumann
9ce40761c8
Remove coveralls.io
2016-09-03 11:06:09 +02:00
Alexander Neumann
48924009fe
Add codecov.io
2016-09-03 10:44:37 +02:00
Alexander Neumann
d497fb6966
Merge pull request #599 from restic/remove-lowlevel-syscall
...
Replace lowlevel syscall to restore symlink times
2016-08-31 19:28:23 +02:00
Alexander Neumann
5bc7f150f8
Merge pull request #598 from restic/update-minio-go
...
Update minio-go
2016-08-31 19:28:17 +02:00
Alexander Neumann
a6eda344a4
Update minio-go
2016-08-31 18:08:43 +02:00
Alexander Neumann
1aa52e5e1e
Replace lowlevel syscall to restore symlink times
2016-08-30 21:45:16 +02:00
Alexander Neumann
769f06cea2
Merge pull request #580 from restic/remove-juju-errors
...
Change errors library
2016-08-30 21:23:53 +02:00
Alexander Neumann
8d90588020
Add better error message for 'cat'
2016-08-30 21:19:04 +02:00
Alexander Neumann
9cf63c99cf
Wrap errors #3
2016-08-29 22:16:58 +02:00
Alexander Neumann
4a0f77650b
Wrap errors #2
2016-08-29 21:54:50 +02:00
Alexander Neumann
b53679a24d
Wrap errors
2016-08-29 21:38:34 +02:00
Alexander Neumann
b06845c545
Always use errors.Cause() for testing error values
2016-08-29 19:52:03 +02:00
Alexander Neumann
c55b6ee544
Add restic.Fatal/f
...
This is a new error which implements the restic.Fataler interface.
Errors of this type are written to stderr, the restic exits. For all
other errors, restic prints the stack trace (if available).
2016-08-29 19:52:00 +02:00
Alexander Neumann
045f545085
repository: Handle errors correctly
2016-08-29 19:23:50 +02:00
Alexander Neumann
038b63f7f7
CI: Check for packages importing "errors" from stdlib
2016-08-29 19:23:50 +02:00
Alexander Neumann
d3f4c816c7
Print error stack if available
2016-08-29 19:23:50 +02:00
Alexander Neumann
72aa6be38d
Replace fmt.Errorf() by errors.Errorf()
2016-08-29 19:23:50 +02:00
Alexander Neumann
444a268ce0
Replace stdlib errors with github.com/pkg/errors
2016-08-29 19:23:50 +02:00
Alexander Neumann
17a38faa43
Drop dependency github.com/juju/errors
2016-08-29 19:23:50 +02:00
Alexander Neumann
24385ff56e
Merge pull request #597 from restic/fix-panic-596
...
Fix panic for debug.Log() with empty string
2016-08-29 17:13:37 +02:00
Alexander Neumann
f51bc8e9b9
Fix panic for debug.Log() with empty string
2016-08-28 22:43:05 +02:00
Alexander Neumann
6f5bf45212
Merge pull request #595 from restic/fix-cat
...
Fix the cat command
2016-08-28 22:28:25 +02:00
Alexander Neumann
3af8f53097
Allow 'cat' for tree blobs
2016-08-28 21:23:46 +02:00
Alexander Neumann
6c6b0e2395
cat: Add warning when pack was modified
2016-08-28 21:21:04 +02:00
Alexander Neumann
26351522c5
Merge pull request #594 from restic/fix-checker
...
Remove check for filemode 0
2016-08-28 21:09:02 +02:00
Alexander Neumann
dec2e4788e
Remove flaky test
2016-08-28 21:06:27 +02:00
Alexander Neumann
f9cd736b33
Fix flaky test
2016-08-28 21:04:35 +02:00
Alexander Neumann
553dd00741
Merge pull request #592 from restic/fix-587
...
Fix panic when parsing sftp URIs
2016-08-28 20:14:17 +02:00
Alexander Neumann
88634dac3a
Remove check for filemode 0
2016-08-28 20:04:09 +02:00
Alexander Neumann
83924d0864
Improve error message when sftp fails
...
Also add a prefix for all errors written to stderr by the client
2016-08-28 19:56:46 +02:00
Alexander Neumann
22bde5b277
sftp: Add debug log messages
2016-08-28 19:47:12 +02:00
Alexander Neumann
cdbdf74811
Remove debug output for tests
2016-08-28 19:30:56 +02:00
Alexander Neumann
db16702263
Report errors to stderr for tests
2016-08-28 19:30:56 +02:00
Alexander Neumann
5dd137d53e
Improve error handling with the ssh subprocess
2016-08-28 19:30:56 +02:00
Alexander Neumann
8de06bd453
Vendor github.com/pkg/errors
2016-08-28 19:30:56 +02:00
Alexander Neumann
a7e64afc0d
Update sftp library
2016-08-28 19:30:56 +02:00
Alexander Neumann
ed09887d9e
Fix panic when parsing sftp URIs
...
Closes #587
2016-08-28 19:30:56 +02:00
Alexander Neumann
d097d40237
Merge pull request #593 from restic/correct-backend-errors
...
local/sftp: Fix broken error handling
2016-08-28 19:30:50 +02:00
Alexander Neumann
196bbbd25b
local/sftp: Fix broken error handling
...
This yields the error messages for a full backup location:
panic: write /home/fd0/mnt/temp/tmp/temp-987810174: no space left on device
Closes #540
Also connected to #574
2016-08-28 18:54:58 +02:00
Alexander Neumann
93e62c6f18
Merge pull request #591 from viric/packs-not-files
...
On prune report, packs instead of files + fix counter
2016-08-27 21:57:09 +02:00
Lluís Batlle i Rossell
3acf03986a
On prune report, packs instead of files + fix counter
2016-08-27 20:04:35 +02:00
Alexander Neumann
12a904eb4b
Fix reading password from stdin
...
This fixes a bug introduced in #585 , it must by checked for stdin and
stdout separately whether it is a terminal.
2016-08-27 18:31:46 +02:00
Alexander Neumann
7f06ec98b8
Merge pull request #585 from trbs/progress_without_terminal
...
show progress every second when run non interactively
2016-08-27 10:10:18 +02:00
Alexander Neumann
d62264c837
Merge pull request #584 from restic/fix-panic
...
Add more safety checks for Unpacker
2016-08-27 10:09:57 +02:00
Alexander Neumann
b2a67d458c
Remove unneeded packs without repacking
2016-08-25 22:35:22 +02:00
Alexander Neumann
de88fb2022
Simplify pack.List
2016-08-25 22:25:55 +02:00
trbs
71263b5090
show progress every second when run non interactively
2016-08-25 22:13:47 +02:00
Alexander Neumann
3fd1e4a992
Add backend.ReaderAt
2016-08-25 21:49:00 +02:00
Alexander Neumann
9f752b8306
Rework function for listing packs
2016-08-25 21:08:16 +02:00
Alexander Neumann
e07ae7631c
Add more safety checks for Unpacker
2016-08-23 22:21:29 +02:00
Alexander Neumann
9fd941f6fc
Merge pull request #583 from stuertz/windowsoutput
...
Fix progress output on Windows
2016-08-23 21:18:09 +02:00
Jan Stürtz
91c458bf74
Fixed gofmt
2016-08-22 22:07:10 +02:00
Jan Stürtz
374b1144de
Dont't guess the max width, get it from the terminal
2016-08-22 17:27:58 +02:00
Jan Stürtz
f05b0871e9
fixed maxlen computation (off by one) on small terminals
2016-08-22 17:27:03 +02:00
Jan Stürtz
4cb8fe3210
Fixed style hints from hound
...
- no else, when if has a return
- Improve Comment on Function
2016-08-21 23:10:28 +02:00
Jan Stürtz
08eb5b42eb
Fix progress output on Windows
...
The windows cmd shell is not aware of ANSI escape sequences and
does print them uninterpreted to the console. This is ugly.
Added a function to generate platform specific string for the escape sequence. On Windows this will be 79 white spaces with
a trailing \r.
2016-08-21 22:38:22 +02:00
Alexander Neumann
1c703e4161
Merge pull request #579 from restic/debug-544
...
Properly close connections to s3 backend on Stat()
2016-08-21 17:10:07 +02:00
Alexander Neumann
ebd3723a06
Properly close the minio object on Stat()
...
Closes #544
2016-08-21 16:15:41 +02:00
Alexander Neumann
06b23edb39
Fix code for newer minio-go
2016-08-21 16:14:58 +02:00
Alexander Neumann
e893be3dec
Update minio-go
2016-08-21 16:14:22 +02:00
Alexander Neumann
ca14942c80
Merge pull request #578 from restic/fix-build-on-arm
...
Fix build on linux/arm
2016-08-21 15:09:46 +02:00
Alexander Neumann
11d01fcd32
Merge pull request #577 from restic/dynamic-scrypt
...
Dynamically calibrate scrypt parameters
2016-08-21 15:00:24 +02:00
Alexander Neumann
5061607e77
x/sys/unix: Manually add FADV_* constants for Linux/arm
2016-08-21 14:59:15 +02:00
Alexander Neumann
69d8fe5b4f
Add check for cross-compilation
2016-08-21 14:21:19 +02:00
Alexander Neumann
916efa4e1a
Merge pull request #576 from restic/fix-documentation-forget
...
Improve documentation, add explanation and weekly
2016-08-21 13:51:38 +02:00
Alexander Neumann
a3492d69dd
Use low-security scrypt KDF parameters for testing
2016-08-21 13:42:04 +02:00
Alexander Neumann
8e24c51233
Fix commets for constants
2016-08-21 13:13:05 +02:00
Alexander Neumann
d8107f77aa
Limit the number of key files checked on SearchKey
2016-08-21 13:10:16 +02:00
Alexander Neumann
79e950b710
Remove dead code
2016-08-21 13:10:15 +02:00
Alexander Neumann
f0d7f3f1bd
Calibrate scrypt for the current hardware
...
Closes #17
2016-08-21 13:10:08 +02:00
Alexander Neumann
9afec53c55
Remove crypto reader/writer (unused)
2016-08-21 13:10:08 +02:00
Alexander Neumann
11098d6eb0
Move KDF() to kdf.go
2016-08-21 13:10:08 +02:00
Alexander Neumann
7e6fc15ece
Vendor github.com/elithrar/simple-scrypt
2016-08-21 13:10:08 +02:00
Alexander Neumann
78c0995853
Improve documentation, add explanation and weekly
2016-08-21 11:53:05 +02:00
Alexander Neumann
84c14e623d
Merge pull request #575 from restic/remove-constants
...
Remove POSIX constants, reduce code duplication
2016-08-21 11:02:06 +02:00
Alexander Neumann
d965d703d1
Reduce duplicate code in wrappers for os
2016-08-21 10:42:07 +02:00
Alexander Neumann
b20921d836
Use constants from /x/sys/unix
2016-08-21 10:36:20 +02:00
Alexander Neumann
a78493f549
Update golang.org/x/sys/unix
2016-08-21 10:35:12 +02:00
Alexander Neumann
2be0aa9dbc
Merge pull request #518 from restic/implement-prune
...
Implement prune
2016-08-21 09:22:22 +02:00
Alexander Neumann
aa29c68189
Fix progress for new index
2016-08-20 20:44:57 +02:00
Alexander Neumann
d3da30e8fb
Use UTC for snapshot time based tests
2016-08-20 18:49:02 +02:00
Alexander Neumann
3337b5d3c4
Add prune/forget to the manual
2016-08-20 18:38:16 +02:00
Alexander Neumann
458448357c
Add help texts which cross-line prune/forget
2016-08-20 18:33:24 +02:00
Alexander Neumann
27d0909302
forget: Remove message when no policy is specified
2016-08-20 18:15:36 +02:00
Alexander Neumann
5f0ebb71b2
forget: Allow filtering for a hostname
2016-08-20 17:59:47 +02:00
Alexander Neumann
00f647dc92
forget: Join paths by ":"
2016-08-20 17:59:10 +02:00
Alexander Neumann
8e7202bd6a
Rename function in debug 'dump' command
2016-08-20 17:54:27 +02:00
Alexander Neumann
5cf7c827b8
forget: Do nothing if no policy is configured
2016-08-20 17:53:03 +02:00
Alexander Neumann
71f7f4f543
Add ExpirePolicy.Empty()
2016-08-20 17:51:48 +02:00
Alexander Neumann
bf47dba1c4
Add 'forget' command
2016-08-20 17:43:25 +02:00
Alexander Neumann
cbd457e557
Add Hourly expire functions
2016-08-20 15:55:23 +02:00
Alexander Neumann
6cf4b81558
Add functions to filter snapshots
2016-08-20 15:22:40 +02:00
Alexander Neumann
bb84d351f1
Revert "ID: move Str() to non-pointer receiver"
...
This reverts commit f102406cd7 .
2016-08-19 20:45:19 +02:00
Alexander Neumann
a107e3cc84
Correct comment
2016-08-19 20:36:24 +02:00
Alexander Neumann
e934966b54
Merge pull request #573 from restic/fix-osxfuse-travis
...
Fix osxfuse on Travis/darwin
2016-08-19 19:23:24 +02:00
Alexander Neumann
bd9f23f1d2
Fix osxfuse on Travis/darwin
2016-08-19 19:04:02 +02:00
Alexander Neumann
2a2fb74ba8
Merge pull request #569 from restic/fix-568
...
Use the platform-independent function for joining
2016-08-19 17:53:09 +02:00
Alexander Neumann
bd819a5e81
Fix panic
2016-08-16 21:59:43 +02:00
Alexander Neumann
162629571d
Add BenchmarkFindUsedBlobs
2016-08-16 21:30:14 +02:00
Alexander Neumann
2c04ad3c29
TestCreateSnapshot: free buffer
2016-08-16 21:30:14 +02:00
Alexander Neumann
238d3807e9
prune: Format duplicate bytes properly
2016-08-16 21:30:14 +02:00
Alexander Neumann
7f9d227725
Use progress in prune command
2016-08-16 21:30:14 +02:00
Alexander Neumann
8de6e5a627
Add progress option to index
2016-08-16 21:30:14 +02:00
Alexander Neumann
8d735cf6a9
Explicitely specify supersedes for new index
2016-08-16 21:30:14 +02:00
Alexander Neumann
29bb845f0e
Rebuild index at the end of prune
2016-08-16 21:30:14 +02:00
Alexander Neumann
1bb2d59e38
Add Save() method to Index
2016-08-16 21:30:14 +02:00
Alexander Neumann
3ceb2ad3cf
Progress: Call OnUpdate before OnDone
2016-08-16 21:30:14 +02:00
Alexander Neumann
009c803c8a
prune: Use new Index
2016-08-16 21:30:14 +02:00
Alexander Neumann
c0ef1ec6fd
Add RemovePack for index
2016-08-16 21:30:14 +02:00
Alexander Neumann
69c2e8ce7e
Add first version of the prune command
2016-08-16 21:30:14 +02:00
Alexander Neumann
f102406cd7
ID: move Str() to non-pointer receiver
2016-08-16 21:30:14 +02:00
Alexander Neumann
302619a11a
Move interfaces to package restic/types
2016-08-16 21:30:14 +02:00
Alexander Neumann
80bcae44e2
Decouple ListAllPacks from repository
2016-08-16 21:30:14 +02:00
Alexander Neumann
1f263a7683
Decouple index/ and repository/
2016-08-16 21:30:14 +02:00
Alexander Neumann
3b57075109
Add global interface Repository
2016-08-16 21:30:14 +02:00
Alexander Neumann
3fa7304e94
Add interfaces to ListAllPacks
2016-08-16 21:30:14 +02:00
Alexander Neumann
47950b82a0
Add test for loading index from documentation
2016-08-16 21:30:14 +02:00
Alexander Neumann
9ecf7070af
Implement Lookup() and Save() for new Index
2016-08-16 21:30:14 +02:00
Alexander Neumann
2310773798
Compute negative offsets ourselves in the s3 backend
2016-08-16 21:30:14 +02:00
Alexander Neumann
a60e3b5030
Make backend tests less verbose
2016-08-16 21:30:14 +02:00
Alexander Neumann
b350b443d0
Stop backend tests early on failure
2016-08-16 21:30:14 +02:00
Alexander Neumann
2c517e4a33
Add Index structures for Blobs
2016-08-16 21:30:14 +02:00
Alexander Neumann
4bdd59b4ad
Index: Add DuplicateBlobs()
2016-08-16 21:30:14 +02:00
Alexander Neumann
f5daf33322
Add pack size to ListAllPacks
2016-08-16 21:30:14 +02:00
Alexander Neumann
1058a91b39
Add option to create duplicate blobs in TestCreateSnapshot
2016-08-16 21:30:14 +02:00
Alexander Neumann
240b8f273a
Add more index tests
2016-08-16 21:30:14 +02:00
Alexander Neumann
6808523d34
Add String() for Blob
2016-08-16 21:30:14 +02:00
Alexander Neumann
bad6184ab5
Add new Index data structure
2016-08-16 21:30:14 +02:00
Alexander Neumann
6b384287f3
Return error when it occurs
2016-08-16 21:30:14 +02:00
Alexander Neumann
ef33cf12ca
Fix Unpacker for packs < 2048 byte
2016-08-16 21:30:14 +02:00
Alexander Neumann
a5cbbb8b5a
Fix BufferLoader for negative offset
2016-08-16 21:30:14 +02:00
Alexander Neumann
71924fb7c0
Add tests for Load() with negative offset
2016-08-16 21:30:14 +02:00
Alexander Neumann
b0565015cc
Remove ReadSeeker
2016-08-16 21:30:14 +02:00
Alexander Neumann
fa283c6ecd
Remove unused GetReader()
2016-08-16 21:30:14 +02:00
Alexander Neumann
94d157d97a
Introduce interface pack.Loader
2016-08-16 21:30:14 +02:00
Alexander Neumann
f72f3dbc6a
Buffer last 2048 bytes of a file for unpack
2016-08-16 21:28:55 +02:00
Alexander Neumann
3c3a180417
Move RandomID() to backend package
2016-08-16 21:28:55 +02:00
Alexander Neumann
fd6c854a21
Add TestResetRepository and BenchmarkCreateSnapshot
2016-08-16 21:28:55 +02:00
Alexander Neumann
e9cddc0be5
Fix TestFindUsedBlobs
2016-08-16 21:28:55 +02:00
Alexander Neumann
d7e5f11b78
Export FindUsedBlobs
2016-08-16 21:28:55 +02:00
Alexander Neumann
2b1b6d8c2a
Export ListAllPacks
2016-08-16 21:28:55 +02:00
Alexander Neumann
acc2fa5816
Fix TestRepack
...
* Decrease number of blobs for use in test
* Fail the test when there's a duplicate blob
2016-08-16 21:28:54 +02:00
Alexander Neumann
6285f31604
Use pack.BlobSet instead of backend.IDSet
2016-08-16 21:28:54 +02:00
Alexander Neumann
3cca831b2e
Fix invalid type in newly created packs
2016-08-16 21:28:54 +02:00
Alexander Neumann
cff6fea32a
Fix 'cat' command
2016-08-16 21:28:54 +02:00
Alexander Neumann
17e1872544
Switch order of parameters to repo.LoadBlob()
2016-08-16 21:28:54 +02:00
Alexander Neumann
246302375d
Index: Add multiple packs per blob, pack.Type
...
Change the index so that a blob can be contained in multiple packs.
Require passing the blob type to all lookup functions.
2016-08-16 21:28:54 +02:00
Alexander Neumann
231da4ff80
Remove old repacking code
2016-08-16 21:28:54 +02:00
Alexander Neumann
1b4b469440
Add pack.Handle and pack.Handles
2016-08-16 21:28:54 +02:00
Alexander Neumann
35e3762e37
Remove dead code
2016-08-16 21:28:54 +02:00
Alexander Neumann
7e732dbd2d
Allow multiple entries in the index
2016-08-16 21:28:54 +02:00
Alexander Neumann
8b4d4ec25f
Fix TestCreateSnapshot, do not store duplicate data
2016-08-16 21:28:54 +02:00
Alexander Neumann
035d0aeb31
Do not create duplicate content for tests
2016-08-16 21:28:54 +02:00
Alexander Neumann
f1bc181c5b
Add more checks for tests
2016-08-16 21:28:54 +02:00
Alexander Neumann
50b724ca23
Fix stylistic issues with FindUsedBlobs
2016-08-16 21:28:54 +02:00
Alexander Neumann
6227821b4e
Move functions to correct file
2016-08-16 21:28:54 +02:00
Alexander Neumann
810056c2bc
Correct packages for tests
2016-08-16 21:28:54 +02:00
Alexander Neumann
34b3e3a095
Split index/repack functions to different files
2016-08-16 21:28:54 +02:00
Alexander Neumann
bdd085e9f1
Prevent loops when finding used blobs
2016-08-16 21:28:54 +02:00
Alexander Neumann
ffc3503e6f
Add first version of FindUsedBlobs
2016-08-16 21:28:54 +02:00
Alexander Neumann
51b16ad57d
Add handy functions to backend.IDSet
2016-08-16 21:28:54 +02:00
Alexander Neumann
723592d923
Move FindUsedBlobs to package restic
2016-08-16 21:28:54 +02:00
Alexander Neumann
22aa17091b
Add test for FindUsedBlobs
2016-08-16 21:28:54 +02:00
Alexander Neumann
4720a7d807
Allow specifying chunker polynomial for tests
2016-08-16 21:28:54 +02:00
Alexander Neumann
d5323223f4
Change repository Init() function to allow better testing
2016-08-16 21:28:54 +02:00
Alexander Neumann
fe79177b40
Make TestCreateSnapshot return the snapshot itself
2016-08-16 21:28:54 +02:00
Alexander Neumann
5c32ae15c2
Move test checking repo code to checker package
2016-08-16 21:28:54 +02:00
Alexander Neumann
6c2334f505
Make TestCreateSnapshot less verbose
2016-08-16 21:28:54 +02:00
Alexander Neumann
b55ac2afd6
Make test files in test repo less random
2016-08-16 21:28:54 +02:00
Alexander Neumann
d9012b4a64
Add trees recursively to test snapshot
2016-08-16 21:28:54 +02:00
Alexander Neumann
952f124238
Use RandReader instead of rand directly
...
This is a fix to be backwards-compatible with Go < 1.6.
2016-08-16 21:28:54 +02:00
Alexander Neumann
14db71d3fa
Move RandReader to repository package
2016-08-16 21:28:54 +02:00
Alexander Neumann
f59ffcaeae
Correct comment
2016-08-16 21:28:54 +02:00
Alexander Neumann
d609e4a986
Extended plaintext buffer if necessary
2016-08-16 21:28:54 +02:00
Alexander Neumann
0e6c72ad1d
Implement Repack()
2016-08-16 21:28:54 +02:00
Alexander Neumann
d5f42201c5
Fix test for Repack
2016-08-16 21:28:54 +02:00
Alexander Neumann
122a0944a6
Do not repack blobs that shouldn't be kept
2016-08-16 21:28:54 +02:00
Alexander Neumann
fa26ecc8f9
Make rebuild-index use the code in package repository
2016-08-16 21:28:54 +02:00
Alexander Neumann
00139648a0
Implement Repack()
2016-08-16 21:28:54 +02:00
Alexander Neumann
6ba38e9a38
Add tests for Repack()
2016-08-16 21:28:54 +02:00
Alexander Neumann
812cb0ba77
Update Go version in manual
2016-08-16 21:24:48 +02:00
Alexander Neumann
b5c397435c
Merge pull request #571 from restic/raise-go-version
...
Require Go 1.6 or greater
2016-08-16 21:20:59 +02:00
Alexander Neumann
043424824c
Only test cross-compilation on Go 1.7
2016-08-16 21:02:30 +02:00
Alexander Neumann
c88c48a29f
Do not build toolchain with gox for Go >= 1.5
2016-08-16 20:51:46 +02:00
Alexander Neumann
2fa93b291a
Update default Go version in Dockerfile
2016-08-16 20:51:31 +02:00
Alexander Neumann
1ad4d1aafd
Require Go 1.6 or greater
2016-08-16 20:32:58 +02:00
Jan Stürtz
b108966b12
Fix 567 ( #570 )
...
* Patch for https://github.com/restic/restic/issues/567
Backup also files on windows with longer pathnames than 255 chars (e.g. from node).
as fd0 says "So, as far as I can see, we need to have custom methods for all functions that accept a path, so that on Windows we can substitute the normal (possibly relative) path used within restic by an (absolute) UNC path, and only then call the underlying functions like os.Stat(), os.Lstat(), os.Open() and so on.
I've already thought about adding a generic abstraction for the file system (so we can mock this easier in tests), and this looks like a good opportunity to build it."
* fixed building tests
* Restructured patches
Add Wrapper for filepath.Walk
* using \\?\ requires absolute pathes to be used.
Now all tests run
* used gofmt on the code
* Restructured Code. No patches dir, integrate the file functions into restic/fs/
There is still an issue, because restic.fs.Open has a different api the os.Open, which returns the result of OpenFile, but takes only a string
* Changed the last os.Open() calls to fs.Open() after extending the File interface
* fixed name-clash of restic.fs and fuse.fs detected by travis
* fixed fmt with gofmt
* c&p failure: removed fixpath() call.
* missing include
* fixed includes in linux variant
* Fix for Linux. Fd() is required on File interface
* done gofmt
2016-08-15 21:59:13 +02:00
Alexander Neumann
1fe8deeb6e
Use new URI syntax in documentation
2016-08-11 20:37:49 +02:00
Alexander Neumann
fa4570bde8
Always use forward slashes in file names
2016-08-11 19:41:47 +02:00
Alexander Neumann
f6c2787d80
Use the platform-independent function for joining
2016-08-11 19:37:22 +02:00
Alexander Neumann
4b8b625b90
Merge pull request #562 from damekr/implement-gomaxprocs-env
...
Issue-535: restic respect GOMAXPROCS env variable depending on go version
2016-08-11 19:09:54 +02:00
damekr
be00d91967
Respect GOMAXPROCS variable
...
Closes #535
2016-08-08 21:37:20 +02:00
Alexander Neumann
e4a9905d6f
Merge pull request #563 from restic/fix-build-script
...
Invert go version test for ldflags
2016-08-04 19:37:30 +02:00
Alexander Neumann
68ec29e7ec
Invert go version test for ldflags
2016-08-03 22:04:03 +02:00
Alexander Neumann
d860ce0570
Merge pull request #559 from vrischmann/master
...
Fix the debug environment variable name in the manual
2016-08-02 22:12:18 +02:00
Alexander Neumann
fc9b27c533
Revert "Fix TestCreateSnapshot, do not generate duplicate data"
...
This reverts commit 628fb0fb72 .
2016-08-02 22:11:55 +02:00
Vincent Rischmann
d4a9b546c1
Fix the debug environment variable name in the manual
2016-08-01 22:23:42 +02:00
Alexander Neumann
628fb0fb72
Fix TestCreateSnapshot, do not generate duplicate data
2016-08-01 22:01:34 +02:00
Alexander Neumann
2de233fe8b
Merge pull request #558 from vrischmann/master
...
Detect a devel version correctly in LDFlags()
2016-08-01 21:49:20 +02:00
Vincent Rischmann
d2834b61fb
Detect a devel version correctly in LDFlags()
2016-08-01 20:47:33 +02:00