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
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
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
fa4570bde8
Always use forward slashes in file names
2016-08-11 19:41:47 +02:00