Alexander Neumann
015cea0c50
PackerManager: Remove debug comment
2016-03-06 12:35:21 +01:00
Alexander Neumann
c0b5f5a8af
Fix all code which uses repository.New()
2016-03-06 12:34:23 +01:00
Alexander Neumann
f956f60f9f
PackerManager: use tempfiles instead of memory buffers
2016-03-06 12:26:25 +01:00
Alexander Neumann
f893ec57cb
Add test and benchmark for PackerManager
2016-03-05 15:58:39 +01:00
Alexander Neumann
8d1a5731f3
Remove integration test for 'optimize'
2016-02-27 13:38:05 +01:00
Alexander Neumann
04b3ce00e2
Remove command 'optimize'
...
It was discovered that the current code may delete still-referenced
blobs, so we'll remove the command for now.
This closes #434
2016-02-27 13:12:22 +01:00
Alexander Neumann
9386bfbafa
checker: Do not use reference in checker errors
2016-02-27 13:10:35 +01:00
Alexander Neumann
a613e23e34
checker: Use backend.IDSet instead of custom struct
2016-02-27 13:10:35 +01:00
Alexander Neumann
5ce1375ddd
Rename non-exported function
2016-02-27 13:10:35 +01:00
Alexander Neumann
4cefd456bb
Refactor rebuild-index code
...
This code reads all pack headers from all packs and rebuilds the index
from scratch. Afterwards, all indexes are removed. This is needed
because in #434 the command `optimize` produced a broken index that
did not contain a blob any more. Running `rebuild-index` should fix
this.
2016-02-27 13:10:35 +01:00
Alexander Neumann
bc911f4609
cmd_dump: Only load pack header
2016-02-27 13:06:21 +01:00
Alexander Neumann
090920039f
pack: Add test with backend.NewReadSeeker
...
This uses the new backend ReadSeeker with the unpacker.
2016-02-27 13:06:21 +01:00
Alexander Neumann
21a99397ff
worker: fix tests
...
The test failed on Windows, probably because the machine used for CI was
too slow. The new test doesn't depend on timing any more.
2016-02-27 13:06:21 +01:00
Alexander Neumann
482fc9f51d
Add backend.readSeeker
...
This struct implements an io.ReadSeeker on top of a backend. This is the
easiest way to make the packer compatible to the new backend without
loading a complete pack into a bytes.Buffer.
2016-02-27 13:06:21 +01:00
Alexander Neumann
b114ab7108
cmd_dump: Allow dumping all blobs in all packs
...
I had the suspicion that one of my repositories contained redundant
data blobs that is not recorder in the index. In order to check this I
needed to dump information about the pack files without consulting the
index. The code here iterates over all packs and dumps the headers, and
dumps information about them in JSON (so we can use other tools to parse
that information again).
2016-02-27 13:06:21 +01:00
Alexander Neumann
4cb4a3ac7f
Add separate goroutine that closes the output chan
...
This allows iterating over the output channel without having to start
another Goroutine outside of the worker pool. This also removes the need
for calling Wait().
2016-02-27 13:06:21 +01:00
Alexander Neumann
ee422110c8
Make worker pools input/output chans symmetric
...
Input and output channel are now both of type `chan Job`, this makes it
possible to chain multiple worker pools together.
2016-02-27 13:06:21 +01:00
Alexander Neumann
e5ee4eba53
Add worker pool
...
A worker pool is needed whenever something should be done concurrently.
This small library makes it easy to create a worker pool by specifying
channels, concurrency and a function that should be executed for each
job and returns a result and an error.
2016-02-27 13:06:21 +01:00
Alexander Neumann
1e0b7dbdd2
Merge pull request #477 from restic/rest-backend
...
rest backend: Remove indirection on http.Client
2016-02-25 22:24:00 +01:00
Alexander Neumann
17f5b524a6
local: Replace matching code with proper Readdir()
2016-02-24 22:43:04 +01:00
Alexander Neumann
4ae16d7661
repository: Use backend.ID to load index
...
This commit uses ParallelWorkFuncParseID() to load all indexes and
ignores file names with invalid format.
This fixes #475 .
2016-02-24 22:41:32 +01:00
Alexander Neumann
77d85cee52
Merge pull request #472 from restic/update-chunker
...
Update chunker
2016-02-24 21:25:15 +01:00
Alexander Neumann
2ce49ea0ee
Update code to use the new Chunker interface
2016-02-23 23:14:35 +01:00
Fabian Wickborn
6005bd9833
Fix relative paths in integrations tests
2016-02-23 09:21:50 +01:00
Fabian Wickborn
442780f214
Move commands to src/cmds
2016-02-23 07:21:28 +01:00
Alexander Neumann
9c47a8abfc
Merge pull request #467 from fawick/master
...
Merging restic-server
2016-02-22 20:48:18 +01:00
Fabian Wickborn
dd5680dab6
restic-server: Create tmp folder
2016-02-22 20:14:11 +01:00
Fabian Wickborn
1cdbc8e1aa
restic-server: Fix folder permissions
2016-02-22 20:14:11 +01:00
Fabian Wickborn
e4168fdde5
restic-server: Reduce memory footprint for saving blobs
...
Before, the restic-server read the whole blob (up to 8MB) into memory
prior to writing it to disk. Concurrent writes consumed a lot
of memory. This change writes the blob to a tmp file directly and
renames it afterwards in case there where no errors.
2016-02-22 20:14:11 +01:00
Fabian Wickborn
4749e610af
restic-server: Fix content length for HEAD requests
2016-02-22 20:14:11 +01:00
Fabian Wickborn
51d86370a5
Fixes for the PR
...
- Removed external dependencies for test
- Prevent building restic-server w/ Go 1.3
Go versions 1.0, 1.1., and 1.2 are going to fail as well, but they
are "excluded" by README.md already.
2016-02-22 20:13:55 +01:00
Fabian Wickborn
d86c093480
Merged the restic-server by @bchapuis
...
Commit ID in fd0/restic-server at time of merge is
07fae00e7ddd8751b150e2ebf0bff8b2871c77ce
2016-02-22 20:12:50 +01:00
Alexander Neumann
bb7b9ef3fc
Merge pull request #466 from ckemper67/sftp-path-clean
...
Cleaned up the sftp parsing logic.
2016-02-22 19:04:56 +01:00
Alexander Neumann
5dd65a5c19
Merge pull request #464 from restic/rest-backend
...
Add REST backend
2016-02-22 18:52:37 +01:00
Christian Kemper
6eb97ca6cc
Cleaned up the sftp parsing logic.
...
Simplified and cleaned up the sftp parsing logic. Added support to
path.Clean the directory. Added additional tests.
2016-02-21 10:50:36 -08:00
Christian Kemper
c2716755f1
Added missing handle to the s3.Stat log message output
2016-02-21 09:59:27 -08:00
Alexander Neumann
7087efaa79
rest backend: Remove indirection on http.Client
2016-02-21 17:06:35 +01:00
Alexander Neumann
8ad98e8040
rest backend: Fixes
2016-02-21 16:35:25 +01:00
Alexander Neumann
f7a10a9b9c
backend tests: Test accessing config
...
This commit adds real testing for accessing the config file with
different names.
2016-02-21 16:02:13 +01:00
Alexander Neumann
bd621197f8
Add rest backend to ui parser
2016-02-21 15:33:13 +01:00
Alexander Neumann
ec34da2d66
Add rest backend to location
2016-02-21 15:33:13 +01:00
Alexander Neumann
c2348ba768
Add REST backend
...
This is a port of the original work by @bchapuis in
https://github.com/restic/restic/pull/253
2016-02-21 15:33:13 +01:00
Alexander Neumann
625c987d23
Move sftp test
2016-02-20 20:53:40 +01:00
Alexander Neumann
841326d713
Move build.go and run_integration_tests.go to root
2016-02-20 17:31:21 +01:00
Alexander Neumann
7b6629802b
Move "doc" to root dir
2016-02-20 17:31:21 +01:00
Alexander Neumann
c0bd660a9e
Rename package
...
* github.com/restic/restic -> restic
2016-02-20 17:31:21 +01:00
Alexander Neumann
0a8ef79dad
Move top-level files
2016-02-20 17:31:21 +01:00
Alexander Neumann
b63399d606
Move things around for gb
...
This moves all restic source files to src/, and all vendored
dependencies to vendor/src.
2016-02-20 17:31:20 +01:00