Commit graph

267 commits

Author SHA1 Message Date
Alexander Neumann
86fcd170f6 Add and use MasterIndex 2015-10-12 22:34:12 +02:00
Alexander Neumann
de2c20be84 Dump individual indexes 2015-10-12 20:53:07 +02:00
Alexander Neumann
db85ab8aa0 Use the correct channel for sending errors 2015-10-11 19:13:45 +02:00
Chapuis Bertil
c765688779 find command integration tests 2015-08-28 19:31:05 +02:00
Chapuis Bertil
d4686ebcc5 Load the index and search subtree 2015-08-27 23:21:44 +02:00
Alexander Neumann
fcb769fa3b Merge pull request #262 from restic/fix-tests
Fix tests
2015-08-18 22:45:50 +02:00
Alexander Neumann
1a47ea4ab8 test helpers: add RemoveAll and ResetReadOnly
This is mainly needed in Windows, where files and dirs cannot be
removed unless they are writeable.
2015-08-18 21:40:40 +02:00
klauspost
a3570af500 Create separate disEntry.equals for Windows.
Windows does not have UID/GID the same way as unix,
so we don't attempt to compare them.
2015-08-17 11:10:12 +02:00
klauspost
d5dab39a4a Disable FUSE test on Windows. 2015-08-17 11:02:04 +02:00
Klaus Post
4dc746dac2 Change repository type detection to first check if path is a directory that exists.
The method of determining if a repository exists doesn't work on Windows, since
the "url.Scheme" will contain the drive letter - "c" in "c:\backup",
so as a first step we check if the URL can be opened as a file,
and if so, we assume it is a 'local' type repository.
2015-08-14 15:39:16 +02:00
Klaus Post
fb3778abb6 Disable mount command on Windows.
FUSE does not support Windows, so we disable it on Windows.
2015-08-14 15:33:11 +02:00
Alexander Neumann
dde0fd8421 Add option to use root as owner of files/dirs 2015-07-26 20:56:27 +02:00
Alexander Neumann
05e2afba0b Merge pull request #249 from restic/reduce-fuse-memory-usage
Reduce memory usage for fuse mount
2015-07-26 19:20:13 +02:00
Alexander Neumann
b85927576b Address code review comments 2015-07-26 18:01:20 +02:00
Alexander Neumann
d1629e1e4e fuse: move to top level 2015-07-26 17:20:26 +02:00
Alexander Neumann
bd746a0425 fuse: refactor and add tests for fuse.file 2015-07-26 16:43:42 +02:00
Alexander Neumann
9753c37e31 Remove dead code
This removes dead code (functions that aren't called) detected with
`deadcode`.
2015-07-26 14:56:34 +02:00
Alexander Neumann
55ddd5317d Reduce memory usage for fuse mount
This changes `repository.LoadBlob()` so that a destination buffer must
be provided, which enables the fuse code to use a buffer from a
`sync.Pool`. In addition, release the buffers when the file is closed.
At the moment, the max memory usage is defined by the max file size that
is read in one go (e.g. with `cat`). It could be further optimized by
implementing a LRU caching scheme.
2015-07-26 14:25:59 +02:00
Alexander Neumann
054256468b Fix message display for parent snapshot id 2015-07-25 18:10:23 +02: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
deaca157fe restore: ignore errors
Also add a test for restoring a file that is owned by root. Closes #244.
2015-07-25 12:59:59 +02:00
Alexander Neumann
cc34401152 Record exclude patterns in snapshot
This adds the exclude patterns used to create a backup in the snapshot,
so we can later compute statistics (like git does) on the data
structure, e.g. added/removed files etc. For that, we need the exclude
pattern.
2015-07-22 22:43:32 +02:00
Alexander Neumann
9911d46996 fuse: rename child/children -> node/items 2015-07-21 21:34:59 +02:00
Alexander Neumann
3f4b5b8d48 fuse/mount: display symlinks properly 2015-07-21 21:25:05 +02:00
Alexander Neumann
1ac72b8813 Fix style issue 2015-07-21 21:24:06 +02:00
Alexander Neumann
99dae57b4f fuse: use node.Type instead of node.Mode 2015-07-21 21:23:40 +02:00
Alexander Neumann
aeb5a694d3 Merge pull request #238 from restic/fix-checks-on-bsd
Refactor skipping symlink timestamp checks on *bsd and darwin
2015-07-21 19:47:33 +02:00
Alexander Neumann
258b6a77ee Refactor skipping symlink ModTime checks, add OpenBSD 2015-07-20 21:29:21 +02:00
Alexander Neumann
bd3ce5d4a3 Fix tests on freebsd 2015-07-20 21:08:29 +02:00
Alexander Neumann
1da89253cf Add include filter for restore
Include and exclude filter are mutually exclusive.
2015-07-20 19:21:01 +02:00
Alexander Neumann
c0337a2675 Add exclude filter to restorer and 'restore' command 2015-07-20 19:21:01 +02:00
Alexander Neumann
7fd52f9f57 Add exclude filter to archiver and 'backup' command 2015-07-20 19:21:01 +02:00
Matthieu Rakotojaona
3767eb2675 Unmount and remove directory for mount in tests 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
e44716381c Unmount when closing application from cli 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
eadfcd3f9e Add waitForMount for OSX 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
fe6f1c01f3 Make inodeFromBackendId more explicit 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
a4d122e5ae Cleanup mount after test 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
d7888d4dd5 Fix checks in fuse tests 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
ca6b7ec533 Add Index.LookupSize 2015-07-19 23:04:18 +02:00
Matthieu Rakotojaona
b1426826cc Extract fuse structs 2015-07-19 23:03:33 +02:00
Matthieu Rakotojaona
0606b9884e Make file.Read more intelligible 2015-07-19 23:03:33 +02:00
Matthieu Rakotojaona
3731a94367 Use functions to create names 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
a016f82051 Fix coding style 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
e654a9659c Protect the snapshots cache with a RWMutex 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
0e7c1668d5 Make mountpoint readable by owner only 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
9ff98d34ef Add build and test instructions
* Don't build on openbsd
* Don't test fuse on travis
2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
1f79a19293 Comment the go trick about static verification of a struct implementing an interface 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
a8cd74ba7e Cache known snapshots instead of re-traversing the repository every time 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
c9b3eebc09 Check that mountpoints are created 2015-07-19 23:03:32 +02:00
Matthieu Rakotojaona
25b090a074 Add integration tests for mount command 2015-07-19 23:03:32 +02:00