2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-27 20:45:19 +00:00
Go to file
Jan Stürtz b108966b12 Fix 567 (#570)
* Patch for  https://github.com/restic/restic/issues/567
Backup also files on windows with longer pathnames than 255 chars (e.g. from node).

as fd0 says "So, as far as I can see, we need to have custom methods for all functions that accept a path, so that on Windows we can substitute the normal (possibly relative) path used within restic by an (absolute) UNC path, and only then call the underlying functions like os.Stat(), os.Lstat(), os.Open() and so on.

I've already thought about adding a generic abstraction for the file system (so we can mock this easier in tests), and this looks like a good opportunity to build it."

* fixed building tests

* Restructured patches
Add Wrapper for filepath.Walk

* using \\?\ requires absolute pathes to be used.
Now all tests run

* used gofmt on the code

* Restructured Code. No patches dir, integrate the file functions into restic/fs/

There is still an issue, because restic.fs.Open has a different api the os.Open, which returns the result of OpenFile, but takes only a string

* Changed the last os.Open() calls to fs.Open() after extending the File interface

* fixed name-clash of restic.fs and fuse.fs detected by travis

* fixed fmt with gofmt

* c&p failure: removed fixpath() call.

* missing include

* fixed includes in linux variant

* Fix for Linux. Fd() is required on File interface

* done gofmt
2016-08-15 21:59:13 +02:00
.github Add issue template 2016-02-21 00:35:58 +01:00
doc Fix the debug environment variable name in the manual 2016-08-01 22:23:42 +02:00
src Fix 567 (#570) 2016-08-15 21:59:13 +02:00
vendor Update minio-go 2016-07-29 20:28:44 +02:00
.gitignore .gitignore: Add /vendor/pkg 2016-02-21 15:33:13 +01:00
.hound.yml Move top-level files 2016-02-20 17:31:21 +01:00
.travis.yml Travis: Update Go version, set ulimit 2016-05-07 23:38:30 +02:00
appveyor.yml Update Go versions 2016-04-16 22:50:36 +02:00
build.go Invert go version test for ldflags 2016-08-03 22:04:03 +02:00
CONTRIBUTING.md doc: point to correct db arg for go get 2016-04-13 15:52:08 -04:00
Dockerfile Dockerfile: Update for gb 2016-02-20 17:31:39 +01:00
LICENSE Move top-level files 2016-02-20 17:31:21 +01:00
Makefile Fix Makefile 2016-03-31 19:20:57 +02:00
mkdocs.yml Add mkdocs for readthedocs.org 2016-02-21 12:28:46 +01:00
README.md Correct goreportcard badge URLs 2016-07-29 21:35:06 +02:00
run_integration_tests.go Fix build tag in run_integration_tests.go 2016-06-29 09:36:40 +02:00
Vagrantfile Vagrantfile: Fix network for darwin 2016-05-07 23:38:41 +02:00
VERSION add VERSION file for 0.2.0 2016-07-30 11:24:52 +02:00

Documentation Build Status Build status Report Card Coverage Status

Introduction

restic is a backup program that is fast, efficient and secure. Detailed information can be found in the documentation and the user manual. The design document lists the technical background and gives detailed information about the structure of the repository and the data saved therein.

The latest documentation can be viewed online at https://restic.readthedocs.io/en/latest. On the bottom left corner there is a menu that allows switching to the documentation and user manual for the latest released version.

Build restic

Install Go/Golang (at least version 1.3), then run go run build.go, afterwards you'll find the binary in the current directory:

$ go run build.go

$ ./restic --help
Usage:
  restic [OPTIONS] <command>
[...]

More documentation can be found in the user manual.

At the moment, the only tested compiler for restic is the official Go compiler. Building restic with gccgo may work, but is not supported.

Contribute and Documentation

Contributions are welcome! More information can be found in CONTRIBUTING.md. A document describing the design of restic and the data structures stored on the back end is contained in doc/Design.md. The development environment is described in CONTRIBUTING.md.

If you'd like to start contributing to restic, but don't know exactly what do to, have a look at this great article by Dave Cheney: Suggestions for contributing to an Open Source project A few issues have been tagged with the label help wanted, you can start looking at those: https://github.com/restic/restic/labels/help%20wanted

Contact

If you discover a bug, find something surprising or if you would like to discuss or ask something, please open a github issue. If you would like to chat about restic, there is also the IRC channel #restic on irc.freenode.net.

Important: If you discover something that you believe to be a possible critical security problem, please do not open a GitHub issue but send an email directly to alexander@bumpern.de. If possible, please encrypt your email using the following PGP key (0x91A6868BD3F7A907):

pub   4096R/91A6868BD3F7A907 2014-11-01
      Key fingerprint = CF8F 18F2 8445 7597 3F79  D4E1 91A6 868B D3F7 A907
      uid                          Alexander Neumann <alexander@bumpern.de>
      uid                          Alexander Neumann <alexander@debian.org>
      sub   4096R/D5FC2ACF4043FDF1 2014-11-01

License

Restic is licensed under "BSD 2-Clause License". You can find the complete text in the file LICENSE.