Christian Kemper
24b7514fe0
cleaner sharing of s3: and s3:// configuration
2016-02-14 09:45:58 -08:00
Christian Kemper
91dc14c9fc
fix Hound warning
2016-02-14 09:27:00 -08:00
Christian Kemper
32c2cafa89
Simplify creation of the Config by moving it to a separate function. Simplify the parsing logic
...
by sharing the handling of s3: and s3://
2016-02-14 09:18:22 -08:00
Christian Kemper
74608531c7
strip off the trailing slash for the object prefix
2016-02-14 07:16:50 -08:00
Christian Kemper
48f85fbb09
replaced if-else chain with switch
2016-02-14 07:01:14 -08:00
Christian Kemper
535dfaf097
address first round of review comments
2016-02-14 06:40:15 -08:00
Christian Kemper
8f5ff379b7
Introduced a configurable object path prefix for s3 repositories.
...
Prepends the object path prefix to all s3 paths and allows to have multiple independent
restic backup repositories in a single s3 bucket.
Removed the hardcoded "restic" prefix from s3 paths.
Use "restic" as the default object path prefix for s3 if no other prefix gets specified.
This will retain backward compatibility with existing s3 repository configurations.
Simplified the parse flow to have a single point where we parse the bucket name and the prefix within the bucket.
Added tests for s3 object path prefix and the new default prefix to config_test and location_test.
2016-02-14 06:05:38 -08:00
Alexander Neumann
e9a21c1dc6
backend.LoadAll: return nil on expected error
...
The current code returns io.ErrUnexpectedEOF, but it is the normal,
expected behaviour of the function LoadAll() to load until the item is
completely loaded. Therefore, the io.ErrUnexpectedEOF is not returned to
the caller.
2016-02-07 23:48:54 +01:00
Alexander Neumann
a37ed45534
Add test for LoadAll with too large buffer
...
LoadAll() should not pass on io.ErrUnexpectedEOF, since the occurrence
of this error is normal.
2016-02-07 23:48:03 +01:00
Alexander Neumann
7d1775e000
Remove backend.ReadCloser
2016-01-27 22:35:18 +01:00
Alexander Neumann
322eca86bc
mem backend: remove unused code
2016-01-27 21:33:48 +01:00
Alexander Neumann
2701eabe39
Remove ContinuousReader
2016-01-26 22:35:51 +01:00
Alexander Neumann
c388101217
s3: Unexport structure
2016-01-26 22:19:44 +01:00
Alexander Neumann
1528d1ca83
sftp: Reduce duplicate code, add error check
2016-01-26 22:16:24 +01:00
Alexander Neumann
0bbad683c5
local: split out tempfile write function
2016-01-26 22:12:53 +01:00
Alexander Neumann
9ec435d863
local: remove duplicate code
2016-01-26 22:09:29 +01:00
Alexander Neumann
9b1c4b2dd6
local: Remove mutex and hash of open files
2016-01-26 22:08:20 +01:00
Alexander Neumann
7196971159
Remove unneeded HashingReader implementation
2016-01-26 22:00:11 +01:00
Alexander Neumann
eb1669a061
Add a lot of comments
2016-01-26 21:56:13 +01:00
Alexander Neumann
c34aa72538
Remove duplicate function str2id
2016-01-26 21:52:02 +01:00
Alexander Neumann
da883d6196
Cleanups, move Hash() to id.go
2016-01-26 21:49:33 +01:00
Alexander Neumann
b482df04ec
Add more documentation
2016-01-26 21:49:22 +01:00
Alexander Neumann
5fcb5ae549
Reduce number of tests for Load()
2016-01-24 21:40:54 +01:00
Alexander Neumann
a0d484113a
backends: Do not sort strings
...
Closes #305
2016-01-24 21:32:45 +01:00
Alexander Neumann
d9c87559b5
s3/local backend: Fix error for overwriting files
2016-01-24 21:13:24 +01:00
Alexander Neumann
1547d3b656
Remove Create() everywhere
2016-01-24 20:23:50 +01:00
Alexander Neumann
1a95e48389
Remove unneeded special readers
2016-01-24 18:58:15 +01:00
Alexander Neumann
35f9eae6c3
local backend: do not call Sync() on directory
...
This fails at least on Windows.
2016-01-24 18:01:00 +01:00
Alexander Neumann
4735a7f9b5
Improve random reader for tests
2016-01-24 17:47:45 +01:00
Alexander Neumann
54f8860612
backends: Add Save()
2016-01-24 16:59:38 +01:00
Alexander Neumann
ed172c06e0
backends: Add Save() function
2016-01-24 01:15:35 +01:00
Alexander Neumann
adbe9e2e1c
backend: Remove GetReader
2016-01-24 01:00:27 +01:00
Alexander Neumann
9209dcfa26
Add LoadAll()
2016-01-23 23:41:55 +01:00
Alexander Neumann
919b40c6cf
Add Stat() method to backend interface
2016-01-23 23:27:58 +01:00
Alexander Neumann
0b50f9e02c
Move MemoryBackend to backend/mem
2016-01-23 19:50:11 +01:00
Alexander Neumann
f05a32509e
Add "Test" prefix to backend test functions
2016-01-23 19:12:02 +01:00
Alexander Neumann
e4f2e4a203
Remove old s3 tests
2016-01-23 19:11:47 +01:00
Alexander Neumann
15c8b85a4b
Add tests for s3 backend
2016-01-23 18:46:04 +01:00
Alexander Neumann
c6db567e3f
Add sftp tests
2016-01-23 18:30:02 +01:00
Alexander Neumann
4952f86682
Add test for to prevent double create
2016-01-23 18:07:15 +01:00
Alexander Neumann
16b7cc7655
Remove redundant local tests
2016-01-23 17:45:33 +01:00
Alexander Neumann
99fab793c0
Remove timestamp from generated tests
2016-01-23 17:43:49 +01:00
Alexander Neumann
9423767827
Update test generate script, add tests to membackend
2016-01-23 17:42:26 +01:00
Alexander Neumann
e966df3fed
Add Load() to MemBackend
2016-01-23 17:19:55 +01:00
Alexander Neumann
3aafa21887
Fix MockBackend.Load()
2016-01-23 17:19:47 +01:00
Alexander Neumann
9a490f9e01
Implement package-local tests
2016-01-23 17:08:03 +01:00
Alexander Neumann
0a24261afb
Add Load() for all existing backends
2016-01-23 14:12:12 +01:00
Alexander Neumann
8b7bf8691d
backend: Remove Get()
...
This is the first commit that removes the (redundant) Get() method of
the backend interface. Get(x, y) is equivalent to GetReader(x, y, 0, 0).
2016-01-23 13:13:05 +01:00
Alexander Neumann
d3a6e2a991
Drop requirement from List()
...
Closes #305
2016-01-23 12:47:16 +01:00
Alexander Neumann
171cd0dfe1
Add backend.Handle, add comments
2016-01-23 12:46:20 +01:00