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
1aa52e5e1e
Replace lowlevel syscall to restore symlink times
2016-08-30 21:45:16 +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
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
f51bc8e9b9
Fix panic for debug.Log() with empty string
2016-08-28 22:43:05 +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
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
ed09887d9e
Fix panic when parsing sftp URIs
...
Closes #587
2016-08-28 19:30:56 +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
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
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
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
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
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
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
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
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
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