Alexander Neumann
6732938e7e
Merge branch 'refactor-repository'
2015-01-14 20:19:20 +01:00
Alexander Neumann
8c4af2af70
Remove test from default make target
2015-01-14 17:49:17 +01:00
Alexander Neumann
af43fb3dda
Fix handling vanished files
2015-01-14 17:48:23 +01:00
Alexander Neumann
4e54c6af2c
Fix calls to debug()
2015-01-14 17:48:10 +01:00
Alexander Neumann
219c0e82bb
Add test for files vanishing between scan and backup
2015-01-14 17:43:41 +01:00
Alexander Neumann
7af11eaaae
Refactor tests, integrate debug break points
2015-01-14 17:32:37 +01:00
Alexander Neumann
7f9e81431f
Reduce time spent in tests
...
Make testing crypto functions with large buffers optional, use the flag
'-test.largecrypto'.
2015-01-14 16:34:30 +01:00
Alexander Neumann
48751e1935
Introduce debug tags and debug breaks
...
The environment variable DEBUG_TAGS can be used to control what is
printed on stderr. Example:
DEBUG_TAGS="+all,-Archiver.*" ./restic backup foo
The variable DEBUG_BREAK can be used to set a breakpoint (implemented
using SIGSTOP):
DEBUG_BREAK=Archiver.Snapshot ./restic backup foo
2015-01-14 16:34:30 +01:00
Alexander Neumann
203a911de9
Refactor repository structure
...
Merge Map data type into Tree.
2015-01-14 16:34:30 +01:00
Alexander Neumann
bdcdcdea7d
Optimize chunker
...
Skip MinSize bytes at the beginning of each chunk. This increases
throughput about 30% percent.
Before:
$ go test -v -bench . ./chunker
=== RUN TestChunker
--- PASS: TestChunker (0.60s)
=== RUN TestChunkerReuse
--- PASS: TestChunkerReuse (2.18s)
PASS
BenchmarkChunker 10 111229642 ns/op 94.27 MB/s
--- BENCH: BenchmarkChunker
chunker_test.go:168: 6 chunks, average chunk size: 1747626 bytes
chunker_test.go:168: 6 chunks, average chunk size: 1747626 bytes
ok github.com/restic/restic/chunker 4.120s
After:
$ go test -v -bench . ./chunker
=== RUN TestChunker
--- PASS: TestChunker (0.48s)
=== RUN TestChunkerReuse
--- PASS: TestChunkerReuse (1.75s)
PASS
BenchmarkChunker 20 81468596 ns/op 128.71 MB/s
--- BENCH: BenchmarkChunker
chunker_test.go:168: 6 chunks, average chunk size: 1747626 bytes
chunker_test.go:168: 6 chunks, average chunk size: 1747626 bytes
ok github.com/restic/restic/chunker 4.061s
2015-01-14 16:33:41 +01:00
Alexander Neumann
cdf3336e7a
Improve error message for newer files
2015-01-08 20:49:32 +01:00
Alexander Neumann
5691d89822
Only test once if node type is still the same
2015-01-06 22:09:39 +01:00
Alexander Neumann
248e3218cb
Incremental: Check if node type is still the same
2015-01-06 22:06:57 +01:00
Alexander Neumann
33bcf31bae
Fix incremental backup
...
Copying blobs (for unchanged files and subtrees) from old BlobList to
new BlobList was missing
2015-01-05 21:40:43 +01:00
Alexander Neumann
4b070358ef
fsck: more verbose error messages
2015-01-05 20:38:49 +01:00
Alexander Neumann
77c421b940
Fix error message
2015-01-05 20:17:15 +01:00
Alexander Neumann
6645cb04e6
Merge branch 'refactor-archiver'
2015-01-04 23:25:38 +01:00
Alexander Neumann
6eb969a492
Update modified files, store error message
2015-01-04 23:25:13 +01:00
Alexander Neumann
e543f5926c
Refactor Archiver and backup command
...
Improve incremental backup by first scanning the tree, loading the old
tree and afterwards comparing both trees in memory.
2015-01-04 22:39:30 +01:00
Alexander Neumann
2a97e2b08a
Add tree.Stat()
2015-01-04 20:16:08 +01:00
Alexander Neumann
fe231af7fc
Remove error from return value of NewContentHandler
2015-01-04 20:07:30 +01:00
Alexander Neumann
4b70bba588
Split Scanner from Archiver, refactor Progress
2015-01-04 18:23:00 +01:00
Alexander Neumann
a93bc3c991
Rename functions, remove code for compare
...
* Archiver: Rename loadTree -> scan and LoadTree -> Scan
* Archiver: Remove code to compare against an old snapshot/tree,
the current implementation was really slow
2015-01-04 16:13:50 +01:00
Alexander Neumann
34afb00d55
Typo
2015-01-03 17:05:37 +01:00
Alexander Neumann
03c1ace107
Add details about the repository
2015-01-03 17:03:57 +01:00
Alexander Neumann
9defbc25d3
Update logo
2015-01-03 15:42:48 +01:00
Alexander Neumann
62c15649eb
Describe threat model
2015-01-03 15:28:33 +01:00
Alexander Neumann
8708d0c167
Reformat paragraphs
2015-01-03 15:26:08 +01:00
Alexander Neumann
97c3c50f69
Correct URL in README.md
2015-01-02 23:16:42 +01:00
Alexander Neumann
5ec31a56f3
More hints for new contributors
2015-01-02 23:13:30 +01:00
Alexander Neumann
fdbedd525a
Add notes for contributors to README.md
2015-01-02 23:11:14 +01:00
Alexander Neumann
5b82475d74
Merge branch 'restore-pattern', closes #69
2015-01-02 23:04:29 +01:00
Sebastian Schmidt
b1dbc6f062
Support for pattern in restore command
...
This just matches the passed pattern against the full source path with
filepath.Match which, in contrast go filepath.Glob, doesn't match the
directory separator with '*' and is not terribly useful that way.
Someone should replace that by a more sophisticated matcher.
2015-01-02 23:03:07 +01:00
Alexander Neumann
e986c8f9d0
Add more documentation
2015-01-02 22:45:02 +01:00
Alexander Neumann
2e28b88e3a
Write prompt to stderr instead of stdout
2015-01-02 22:36:53 +01:00
Alexander Neumann
1789e6151d
Add documentation
2015-01-02 18:43:59 +01:00
Alexander Neumann
a0f8476484
Add rough repository structure sketch
2015-01-02 13:14:52 +01:00
Sebastian Schmidt
bd43e27deb
Create parent directories for restore items
...
When restoring an item fails with ENOENT, create parent directories and
try again. This is needed for restoring partial trees (as in: the Filter
function didn't return true for the paths leading up to this restore
item).
2015-01-01 16:40:36 +01:00
Sebastian Schmidt
fb874ea7cc
Allow nil 'Filter's for restorer
...
Allow Filters to be nil and avoid joining the path again if no filter is
used at all.
2015-01-01 16:40:36 +01:00
Sebastian Schmidt
10b99e53e4
Pass "source" path to restorer filter function
...
The source path is probably more useful here as the user, when
restoring, probably wants to filter for /usr/local/foo instead of
/tmp/restore-whatever/{usr/local/,}foo.
2015-01-01 16:40:36 +01:00
Sebastian Schmidt
ccada7d89a
Don't skip subtree on false filter condition when restoring
...
We still need to descend into subtrees and check if their filter
matches.
2015-01-01 16:40:36 +01:00
Alexander Neumann
dd040a4132
Merge pull request #68 from yath/cmd_ls
...
Fix 'ls' command
2015-01-01 13:11:15 +01:00
Sebastian Schmidt
190b1cdcc7
Fix 'ls' command
...
CmdLs needs to implement flags.Commander, so change (CmdLs) Execute to
only take a []string to get actually called.
2015-01-01 11:30:30 +01:00
Alexander Neumann
aa8f1c680e
Merge branch 'master' of github.com:restic/restic
2014-12-30 20:05:25 +01:00
Alexander Neumann
9354f053bb
Merge pull request #67 from yath/typo
...
Fix typo
2014-12-30 20:03:52 +01:00
Sebastian Schmidt
24cb360b5d
Fix typo
2014-12-29 12:39:43 +01:00
Alexander Neumann
1d8e76a245
Add comment
2014-12-25 14:13:34 +01:00
Alexander Neumann
81dddfccc1
Correct fsck command in tests
2014-12-22 14:59:46 +01:00
Alexander Neumann
0d882626d9
Merge branch 'improve-fsck'
2014-12-22 14:47:21 +01:00
Alexander Neumann
1944ab13d4
Add dangling blob detection and removal to 'fsck'
2014-12-22 14:46:54 +01:00