Alexander Neumann
9bda164ed3
Update Appveyor configuration
2016-02-20 17:31:22 +01:00
Alexander Neumann
c51889c157
Ignore vendor/ directory for gofmt tests
2016-02-20 17:31:22 +01:00
Alexander Neumann
b3c2febf79
Add output of build.go to gitignore
2016-02-20 17:31:22 +01:00
Alexander Neumann
96e66bb3e9
Update build.go and run_integration_tests.go
2016-02-20 17:31:22 +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
Alexander Neumann
273d028a82
Merge pull request #451 from fawick/master
...
Support custom SSH ports in URL of SFTP-repo
2016-02-16 21:13:42 +01:00
Fabian Wickborn
2d94e71117
Support custom SSH ports in URL of SFTP-repo
2016-02-15 19:17:41 +01:00
Alexander Neumann
d918d0f0c3
Merge pull request #443 from ckemper67/fix-387
...
Introduced a configurable object path prefix for s3 repositories to address #387
2016-02-14 22:43:40 +01:00
Alexander Neumann
517eff7e48
Merge pull request #447 from ckemper67/fix-442
...
Fix #442 : set blocks and blocksize in fuse
2016-02-14 22:25:37 +01:00
Christian Kemper
1f81865847
set Blocks and BlockSize in Attr using a default blocksize of 512 to address #442 .
2016-02-14 13:14:08 -08:00
Christian Kemper
f3f1404849
always use "restic" as the default prefix for parsing.
...
improved test error message to make it easier to find the problematic pattern
2016-02-14 11:26:46 -08:00
Christian Kemper
24b7514fe0
cleaner sharing of s3: and s3:// configuration
2016-02-14 09:45:58 -08:00
Christian Kemper
91dc14c9fc
fix Hound warning
2016-02-14 09:27:00 -08:00
Christian Kemper
32c2cafa89
Simplify creation of the Config by moving it to a separate function. Simplify the parsing logic
...
by sharing the handling of s3: and s3://
2016-02-14 09:18:22 -08:00
Christian Kemper
74608531c7
strip off the trailing slash for the object prefix
2016-02-14 07:16:50 -08:00
Christian Kemper
48f85fbb09
replaced if-else chain with switch
2016-02-14 07:01:14 -08:00
Christian Kemper
535dfaf097
address first round of review comments
2016-02-14 06:40:15 -08:00
Christian Kemper
8f5ff379b7
Introduced a configurable object path prefix for s3 repositories.
...
Prepends the object path prefix to all s3 paths and allows to have multiple independent
restic backup repositories in a single s3 bucket.
Removed the hardcoded "restic" prefix from s3 paths.
Use "restic" as the default object path prefix for s3 if no other prefix gets specified.
This will retain backward compatibility with existing s3 repository configurations.
Simplified the parse flow to have a single point where we parse the bucket name and the prefix within the bucket.
Added tests for s3 object path prefix and the new default prefix to config_test and location_test.
2016-02-14 06:05:38 -08:00
Alexander Neumann
b7260cafac
CONTRIBUTING: Add paragraph about PRs and tests
2016-02-14 11:49:10 +01:00
Alexander Neumann
3d27751b69
Merge pull request #441 from restic/add-note-gccgo
...
README: Add note about gccgo
2016-02-13 20:21:58 +01:00
Alexander Neumann
4053fe0a9b
Merge pull request #440 from restic/fix-431
...
sftp: Use os.IsNotExist() for Test()
2016-02-13 19:45:14 +01:00
Alexander Neumann
e75856a7d2
README: Add note about gccgo
...
Closes #432
2016-02-13 19:20:25 +01:00
Alexander Neumann
50380f8c14
Merge pull request #439 from restic/fix-402
...
Add cleanup handler to restore terminal state
2016-02-13 19:14:59 +01:00
Alexander Neumann
4032af0b78
sftp: Use os.IsNotExist() for Test()
...
The sftp library introduced a change so that the error returned for
(among others) Lstat() can be used with os.IsNotExist() to test whether
the target file does not exist.
2016-02-13 19:11:41 +01:00
Alexander Neumann
2bb55f017d
Update pkg/sftp library
2016-02-13 19:11:35 +01:00
Alexander Neumann
1287b307ac
Add cleanup handler to restore terminal state
...
Closes #402
2016-02-13 18:29:26 +01:00
Alexander Neumann
24618305cc
Merge pull request #429 from restic/fix-428
...
backup: Hide status output for narrow terminals
2016-02-10 18:02:18 +01:00
Alexander Neumann
4ec5050cbb
backup: Hide status output for narrow terminals
...
closes #428
2016-02-10 17:28:48 +01:00
Alexander Neumann
eccbcb73a1
Merge pull request #425 from restic/fix-loadall
...
backend.LoadAll: return nil on expected error
2016-02-08 00:37:04 +01:00
Alexander Neumann
e781e1cf1d
Merge pull request #424 from restic/fix-backup
...
Fix backup of root directory
2016-02-08 00:06:19 +01:00
Alexander Neumann
e9a21c1dc6
backend.LoadAll: return nil on expected error
...
The current code returns io.ErrUnexpectedEOF, but it is the normal,
expected behaviour of the function LoadAll() to load until the item is
completely loaded. Therefore, the io.ErrUnexpectedEOF is not returned to
the caller.
2016-02-07 23:48:54 +01:00
Alexander Neumann
a37ed45534
Add test for LoadAll with too large buffer
...
LoadAll() should not pass on io.ErrUnexpectedEOF, since the occurrence
of this error is normal.
2016-02-07 23:48:03 +01:00
Alexander Neumann
26484d0c7b
pipe: Ignore excluded directories
...
When top-level directories are ignored, they were still added to the
top-level Dir{} object. This commit ignores them.
2016-02-07 23:23:16 +01:00
Alexander Neumann
68db75b4e3
pipe/archiver: Add more debug messages
2016-02-07 23:22:06 +01:00
Alexander Neumann
9048eb676b
pipe: join replaced paths with original path
...
When saving `/`, it was replaced with the contents, but without the
proper path. So `/` was replaced by [`boot`, `bin`, `home`, ...], but
without prefixing the entry name with the proper path.
2016-02-07 22:18:37 +01:00
Alexander Neumann
6a5b022939
archiver: Add error reporting for directories
...
When an error occurred while walking a directory, this error wasn't
reported to the user before.
2016-02-07 22:18:00 +01:00
Alexander Neumann
57a24b2cdf
Merge pull request #421 from restic/fix-fuse-with-special-names
...
fuse: Replace special node names with their content
2016-02-07 20:43:29 +01:00
Alexander Neumann
da47389483
Merge pull request #420 from restic/archiver-unique-paths
...
archiver: deduplicate list of paths to save
2016-02-07 20:31:18 +01:00
Alexander Neumann
4c329110c5
Merge pull request #419 from restic/fix-backup-root
...
Fix backup of "/"
2016-02-07 20:31:08 +01:00
Alexander Neumann
46fbae0d71
Merge pull request #418 from benmur/show-pack-name-on-rebuild-index-error
...
Handle pack loading errors in rebuild-index
2016-02-07 19:59:01 +01:00
Alexander Neumann
1835e988cf
fuse: Replace special node names with their content
...
This is the companion fix for #419 and allows mounting repositories with
special directory names directly below the snapshot.
Closes #403
2016-02-07 19:51:29 +01:00
Alexander Neumann
537347d9b5
archiver: deduplicate list of paths to save
2016-02-07 19:35:35 +01:00
Alexander Neumann
811dbfa52d
Make TestWalkerPath absolute before walking
2016-02-07 19:34:02 +01:00
Rached Ben Mustapha
ba35ca522a
Handle pack loading errors in rebuild-index
...
Errors returned from backend.LoadAll() were not handled, leading to
these fatal errors from the unpacker trying to read the size from the end of
an empty buffer:
`seeking to read header length failed: bytes.Reader.Seek: negative position`
This change takes care of returning on error, as well as showing which pack
failed to load and validating pack integrity.
2016-02-07 18:30:47 +00:00
Alexander Neumann
c6a1f2e2f3
pipe: Handle special paths gracefully
...
This fixes handling special paths "." and "/". When such a path name is
found, it is replaced by the contents of the path before walking.
2016-02-07 19:30:00 +01:00
Alexander Neumann
604c27f001
Test pipe walker for invalid paths
...
It was discovered that when restic is instructed to save `/`, the tree
structures in the repository contain an invalid node.
When saving the dir `/home/user`, the following structure is created:
snapshot
-> tree
nodes: ["user"]
[...]
When the root directory `/` is saved, the structure is as follows:
snapshot
-> tree
nodes: ["/"]
[...]
This behavior is caused by the walker in pipe.go sending a node with the
name "." to the archiver, so this commit adds a test for invalid node
names.
2016-02-07 19:29:44 +01:00