klauspost
d29ccafa61
Check if local path exists, and use it if so.
...
path.Scheme contains the drive on Windows, so the existing check doesn't work.
Also checks the length of the path, so it doesn't crash with OOB.
2015-08-13 15:27:49 +02:00
klauspost
630aeb4194
Output .exe file on Windows.
2015-08-13 14:57:57 +02:00
klauspost
e49b38aca7
Only use Setsid on Unix.
...
Setsid is not a part of syscall.SysProcAttr on Windows.
2015-08-13 14:57:31 +02:00
klauspost
61d94a0954
Disable mount on Windows.
2015-08-13 14:46:49 +02:00
klauspost
3a4c02912a
Disable UID/GID/mode/symlink tests on Windows.
...
Mode will not match the unix mode, since it can only partially be represented.
UID/GID are not relevant on Windows.
Symlinks cannot be created by non-admins on Windows.
2015-08-13 14:15:38 +02:00
klauspost
8d419713de
Disable symlinks on Windows.
...
Windows cannot create symlinks without the user being administrator.
2015-08-13 14:13:40 +02:00
klauspost
cc805b9325
Set "fake" PID on Windows to larger value.
...
Since Windows cannot do SIGHUP signals, we need to make sure the process ID doesn't exist for the tests to succeed.
2015-08-13 14:12:18 +02:00
klauspost
a260e82e6a
Disable SUGHUP lock check on Windows.
2015-08-13 14:10:32 +02:00
klauspost
f2fd632e30
Don't set Read-Only on Windows.
...
If we set it to readonly we cannot delete it using os.Remove().
Fixes most tests.
2015-08-13 12:51:50 +02:00
klauspost
2e6187fe6f
Keep track of open local files and close them. Still a lot of Access Denied errors related to removing files.
2015-08-12 17:32:03 +02:00
klauspost
db26917bb5
EWINDOWS is not present on other OS'es, so use a stub function instead.
2015-08-12 16:14:56 +02:00
klauspost
b051b0a507
Windows does not have Lchown, so ignore that error.
2015-08-12 16:06:22 +02:00
klauspost
0fb1ad40f2
Don't defer until we have checked the error.
2015-08-12 15:57:18 +02:00
klauspost
9f9c2a2be0
Ignore Uid/Gid parse errors, since Windows user/group ID isn't numbers.
2015-08-12 15:56:02 +02:00
klauspost
caee192488
Cast to correct size ;)
2015-08-12 15:31:50 +02:00
klauspost
15f7340a58
Explicitly cast types from OS Stat_t structs.
2015-08-12 15:27:22 +02:00
klauspost
74dcdf3899
Add freebsd to unixes.
...
Fix import.
Fix cast.
2015-08-12 15:20:26 +02:00
klauspost
d8a512ccf6
Get initial Windows compilation working.
...
OS specific syscalls (mknod) and structs (Stat_t) are separated out.
Common unix functionality is collected in a node_unix.go file.
Direct use of syscall.Stat_t is replaced with an interface.
2015-08-12 15:03:23 +02:00
klauspost
b7fb50b8d9
Remove colored text. Messes up on Windows.
2015-08-12 14:26:17 +02:00
Alexander Neumann
17ee6b1c4b
Merge pull request #251 from restic/fuse-ownership
...
fuse/mount: Use original UID/GID as owner
2015-07-27 21:39:45 +02:00
Alexander Neumann
d5ce2da2aa
fuse test: remove debug output
2015-07-26 20:57:03 +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
bdcb2175c5
fuse: show correct uid and gid
2015-07-26 20:02:17 +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
7608610d72
Merge pull request #250 from restic/remove-dead-code
...
Remove dead code
2015-07-26 15:12:41 +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
90ed679e88
Merge pull request #246 from restic/id-as-array
...
Use array instead of hash for backend.ID
2015-07-25 22:32:58 +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
2fa6124545
Merge pull request #245 from restic/fix-224
...
restore: ignore errors
2015-07-25 13:17:09 +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
c91f185818
Add FROSCON talk
2015-07-25 12:17:26 +02:00
Alexander Neumann
b5ebd702fe
Merge pull request #242 from restic/add-exclude-patterns-to-snapshot
...
Record exclude patterns in snapshot
2015-07-23 20:11:43 +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
ec3893e655
Merge pull request #240 from restic/fix-fuse-symlinks
...
fuse: Display symlinks properly
2015-07-21 22:16:33 +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
ac8d01ac8c
Merge pull request #231 from restic/implement-filter-functions
...
Add filter implementation for files
2015-07-20 21:33:16 +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