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
v0.5.0
...
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEz48Y8oRFdZc/edThkaaGi9P3qQcFAljD4MMVHGFsZXhhbmRl
ckBidW1wZXJuLmRlAAoJEJGmhovT96kHt9kP/3lZIrmpBE78mLZ0vNwUI0ruC9s5
ldiOzpQl+dN3kqU+A3c5F7lBssBCsvnZKgI4Ip1/5cGhVDTPIi6tnbko932Hhrfh
mkxiJjQjlTQtlinRT/giRG1j4X+LW7BU2Q4cnuvG3f8Oumh9UlfuQELlK67XG8+1
BnMPjkfFgKLI1nzxVnz+J34icAnwSnQD2PPKraqTH+pvWn8KbDxC9jZ+WoqwZdG4
YURYKg4HE5ZluJB+l8R9x+GMuvTTHK7JhMj6IYWgdXBQtrgA34GoGbvQD/Vdfo3W
Xkfsbvwrdzi2ndGe26qDxkMpx7Yt+beRw/dCTBvuPjdZ4hcwfoQLn+wRSQ5/QQ+d
EnKFlu4LICI0bipSJnu1YZ1fokUZ8NYDdLVBRwWzMmwc72+tl5y8PywnmlUSli3z
/XMIYK58zmSJgd7wFxwwH5pNEZimlTQWnzlD+u9dm9ToaPqW1iDlYzLUqw3LM7Bi
3bz10VtIeQbH+leYyX4glCRrpQ3gmCxFMgI0cvhaXy/du+VcM0MdD/lzhSCPFT8E
HePTGG/gT3udNCvfuFZ6agueEo21dAk4PzvM1CFHQreNMi4M4CERMdv+AeDmkgv8
ALMUpy8dAajIuNHfHbeNWdVL9AAGPwm1o72oHp2+2UW2bXMffale0iYv8ARWaqtq
OU6r0wXOrr8ZaHbd
=jjG7
-----END PGP SIGNATURE-----
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