Alexander Neumann
50fd8f6f44
make repo for tree walker mockable
2015-10-27 20:51:55 +01:00
Alexander Neumann
5cdcc99eba
Use array instead of hash for backend.ID
...
Since backend.ID is always a slice of constant length, use an array
instead of a slice. Mostly, arrays behave as slices, except that an
array cannot be nil, so use `*backend.ID` insteaf of `backend.ID` in
places where the absence of an ID is possible (e.g. for the Subtree of a
Node, which may not present when the node is a file node).
This change allows to directly use backend.ID as the the key for a map,
so that arbitrary data structures (e.g. a Set implemented as a
map[backend.ID]struct{}) can easily be formed.
2015-07-25 18:01:57 +02:00
Alexander Neumann
5108d91bc7
checker: check trees and blobs in parallel
2015-07-12 16:50:12 +02:00
Alexander Neumann
95536e8a21
Rename 'Repo' -> 'Repository'
2015-05-09 23:59:58 +02:00
Alexander Neumann
232c472836
Move package 'repo' to package 'repository'
2015-05-09 23:52:03 +02:00
Alexander Neumann
ae21938f3e
Rename 'Repository' -> Repo
2015-05-09 17:41:28 +02:00
Alexander Neumann
d9b5832034
Rename variables
2015-05-09 13:47:21 +02:00
Alexander Neumann
87ebf12945
Rename 'Server' to 'Repository'
2015-05-09 13:25:52 +02:00
Alexander Neumann
8be9e95d20
Rename package 'server' to 'repo'
2015-05-09 13:24:15 +02:00
Florian Weingarten
c9f1f08019
Small refactorings and ceosmetic changes
2015-04-29 20:59:06 -04:00
Alexander Neumann
60a0fe8349
Major restructure, bundle blobs
...
This commit also breaks the repository format.
2015-04-29 23:27:32 +02:00
Alexander Neumann
d19b23d4f1
Move Server and Key to new sub-package
2015-04-26 14:46:15 +02:00
Alexander Neumann
f157f775da
Add checks for Server.Load(), use Blob for load
2015-03-28 15:07:08 +01:00
Alexander Neumann
5e69788eac
Refactor backends
2015-03-28 14:36:50 +01:00
Alexander Neumann
b3cdd3ead9
Remove unused code
2015-03-08 14:22:35 +01:00
Alexander Neumann
4d1e7b9f24
Change parameters of LoadTree()
2015-02-17 22:37:34 +01:00
Alexander Neumann
f8f8107d55
wip
2015-02-15 15:17:24 +01:00
Alexander Neumann
2b7af4a1c1
tree: Add concurrent traversing functions
2015-02-04 22:36:49 +01:00
Alexander Neumann
460ebebeef
Split out Node and Blob from tree.go
2015-02-03 21:07:55 +01:00
Alexander Neumann
79e065596f
Make CreateAtNodeAt() independend from Tree
2015-02-03 21:04:51 +01:00
Moritz Holtz
1cf3564dc1
This should fix #82
...
Sockets where just not created, but CreateNodeAt still tried
to run chmod on them.
Now, CreateNodeAt directly returns when finding a socket.
2015-02-02 14:50:31 +01:00
Alexander Neumann
25a214809b
Refactor debug into debug module
2015-01-17 16:32:13 +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
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
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
4b70bba588
Split Scanner from Archiver, refactor Progress
2015-01-04 18:23:00 +01:00
Alexander Neumann
1d8e76a245
Add comment
2014-12-25 14:13:34 +01:00
Alexander Neumann
45e40eb27a
Correctly encode non utf8 node names
2014-12-07 13:06:35 +01:00
Alexander Neumann
e2fea0d088
Rename khepri -> restic
2014-12-05 21:45:49 +01:00
Alexander Neumann
3325fa07ea
Check timestamps for files
2014-11-30 22:34:21 +01:00
Alexander Neumann
f95788ed90
Limit memory usage, add several sync.Pool
2014-11-23 21:26:20 +01:00
Alexander Neumann
d1e4431514
Refactor StorageMap to BlobList
2014-11-22 21:05:18 +01:00
Alexander Neumann
4a3a6861e2
Scan directory first, then backup. Add stats.
2014-11-17 23:52:31 +01:00
Alexander Neumann
804cebde67
Rename backend subdir 'blobs' to 'data'
2014-11-16 13:22:19 +01:00
Alexander Neumann
ff3d0840d8
Fix integration tests
...
Todo for later:
* fix Futimes() syscall (will be done in #24 )
* return error in dirdiff when ModTime doesn't match
2014-11-16 12:05:54 +01:00
Alexander Neumann
cbee80fc6d
Add hint for osutil library
2014-10-07 23:23:18 +02:00
Alexander Neumann
30ab03b7b7
Add decrypt, refactor
2014-10-03 21:44:55 +02:00
Alexander Neumann
f0287b2c9a
Restructure, adapt for max 16MB chunk size
2014-09-21 16:33:20 +02:00
Alexander Neumann
629935db5c
Add CDC to backup and restore
2014-09-18 22:42:23 +02:00
Alexander Neumann
d66996e648
Move restore functionality into khepri package
2014-08-11 23:14:40 +02:00
Alexander Neumann
2428843faa
Refactor
2014-08-11 22:47:24 +02:00
Alexander Neumann
13bb557cdc
Restructured repository
2014-07-28 20:21:19 +02:00