Commit graph

8354 commits

Author SHA1 Message Date
Philipp Serr
7b11660f4f Prevent concurrent processing of same blob
... by first adding a preliminary index entry and making this fail if
an index entry for the same blob already exists.

A preliminary index entry is characterized by not yet being associated
with a pack. Until now, these entries where added to the index just
like final index entries using index.Store, which silently overwrites
existing index entries.

This commit adds a new method index.StoreInProgress which refuses to
overwrite existing index entries and allows for creating preliminary
index entries only. The existing method index.Store has not been
changed and continues to silently overwrite existing index entries.
This distinction is important, as otherwise, it would be impossible to
update a preliminary index entry after the blob has been written to a
pack.

Resolves: restic#292
2015-09-27 16:56:49 +02:00
Alexander Neumann
4fb46faae7 Use Go 1.5.1 for travis tests 2015-09-12 22:15:09 +02:00
Alexander Neumann
316f6ed313 Update chunker version 2015-09-12 22:14:58 +02:00
Alexander Neumann
108d28316a Merge pull request #294 from restic/rework-id
Refactor IDs and IDSet
2015-09-08 21:26:07 +02:00
Alexander Neumann
5c46dc41de Add methods to IDSet 2015-09-05 18:49:28 +02:00
Alexander Neumann
d42ff509ba Small refactorings
* use uint instead of uint32 in packs/indexes
 * use ID.Str() for debug messages
 * add ParallelIDWorkFunc
2015-09-05 18:41:58 +02:00
Alexander Neumann
2cb0fbf589 backend: Add String() to IDs 2015-09-05 18:41:58 +02:00
Alexander Neumann
a0bad1695c Remove comment 2015-09-05 18:41:58 +02:00
Alexander Neumann
681d7851aa index: use backend.ID instead of string for maps 2015-09-05 18:41:58 +02:00
Alexander Neumann
3063ad1d05 Split id.go into several files 2015-09-05 18:41:56 +02:00
Alexander Neumann
76b1f017c0 Merge pull request #290 from bchapuis/fix-289
Load the index and search subtree
2015-09-01 21:08:21 +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
f653aca0ed Merge pull request #287 from restic/fix-279
Remove tests for directories
2015-08-27 22:07:07 +02:00
Alexander Neumann
0a457eafed Correctly test for config file 2015-08-26 22:06:52 +02:00
Alexander Neumann
b211f834fa Remove tests for directories
For testing whether a repository already exists it is sufficient to
test if the config file (and therefore the master key) exists.

Closes #279
2015-08-26 21:51:40 +02:00
Alexander Neumann
9aefc2b7a6 Merge pull request #281 from restic/version-with-git
build.go: use new combined version string
2015-08-26 20:53:24 +02:00
Alexander Neumann
10f0d7ccac Merge pull request #280 from restic/ldflags-go1.5
build.go: Make `-ldflags` compatible to Go 1.5
2015-08-26 20:33:43 +02:00
Alexander Neumann
cb460b7dec Merge pull request #285 from howeyc/fix-aws-v4
Use new version of s3 library, Fixes #276
2015-08-26 20:20:32 +02:00
Alexander Neumann
39a82d951b Refactor getVersion(), address code review comments 2015-08-26 20:17:51 +02:00
Alexander Neumann
a54f9715b1 Add "build: " prefix to verbose messages 2015-08-26 20:03:26 +02:00
Alexander Neumann
4c47c2b2c9 Address code review comments 2015-08-26 20:03:16 +02:00
Chris Howey
ccb2f00b8a typo 2015-08-26 07:54:39 -05:00
Chris Howey
3bf447b422 Update tests for new s3 lib 2015-08-26 07:44:00 -05:00
Chris Howey
10cd672a92 Use new version of s3 library, Fixes #276 2015-08-26 06:25:05 -05:00
Alexander Neumann
f3c64d0740 build.go: use new combined version string
Previously, when a VERSION file exists it takes precendence over the
git version. This is unfortunate because all restic binaries compiled
from a git checkout will just identify as the latest release (e.g.
'0.1.0'), regardeless of any commits on top of it.

This commit adds a combined version string by using the contents of
the VERSION file, and append the current git version returned by `git
describe` if available, e.g.:

    0.1.0 (v0.1.0-6-gb188217-dirty).
2015-08-25 22:20:53 +02:00
Alexander Neumann
dca200c2e9 build.go: Make -ldflags compatible to Go 1.5
This change uses the old syntax (-ldflags "-X foo bar") for Go <= 1.4
and the new syntax for (-ldflags "-X foo=bar") for Go 1.5 (without a
warning).
2015-08-25 22:07:52 +02:00
Alexander Neumann
b188217e83 Merge pull request #274 from restic/fix-documentation
Documentation fixes
2015-08-22 23:07:31 +02:00
Alexander Neumann
3a50c2bbfb Fix docs 2015-08-22 23:03:25 +02:00
Alexander Neumann
e0e9cd8680 More documentation fixes 2015-08-22 15:09:53 +02:00
Alexander Neumann
b6872fb454 Clarify documentation about MAC key 2015-08-22 15:09:21 +02:00
Florian Daniel
3f3cca8f2a Merge pull request #273 from restic/fix-124
fix typo in Readme
2015-08-22 00:01:35 +02:00
Florian Daniel
647ee5b74a fix typo in Readme 2015-08-21 23:53:59 +02:00
Alexander Neumann
16e87d7208 add VERSION file for 0.1.0 2015-08-21 22:20:57 +02:00
Alexander Neumann
577a1bb232 Merge pull request #264 from restic/fix-124
WIP: cleanup readme
2015-08-21 22:19:14 +02:00
Florian Daniel
8b485c59fc Update README and Design documentation 2015-08-21 22:14:37 +02:00
Florian Daniel
34d7a674f8 cleanup readme 2015-08-21 22:12:12 +02:00
Alexander Neumann
228cafaab0 Remove warning, add note about compatibility 2015-08-21 22:00:12 +02:00
Alexander Neumann
fdbff14e78 Merge pull request #271 from restic/go1.5
travis: add go1.5
2015-08-20 20:58:33 +02:00
Alexander Neumann
fd2365724e Remove unneded variables 2015-08-20 19:45:04 +02:00
Alexander Neumann
9f7346354b CI: only run gox -build-toolchain for Go < 1.5 2015-08-20 19:42:40 +02:00
Alexander Neumann
94eebbaa88 travis: add go1.5 2015-08-20 19:21:53 +02:00
Alexander Neumann
d7426a72f4 Revert "travis: remove unneeded GOPATH definition from"
This reverts commit 3eac8061f9.
2015-08-20 19:21:35 +02:00
Alexander Neumann
864579404c Merge pull request #268 from restic/cross-compile-windows
CI: Add Windows
2015-08-20 19:11:46 +02:00
Alexander Neumann
3eac8061f9 travis: remove unneeded GOPATH definition from 2015-08-20 19:08:09 +02:00
Alexander Neumann
7ebf5397a3 clean up Makefile 2015-08-20 19:05:19 +02:00
Alexander Neumann
0cdbde1bd0 Remove unneeded comments 2015-08-20 18:54:24 +02:00
Alexander Neumann
4755fff37f README: Add appveyor build status 2015-08-19 22:20:44 +02:00
Alexander Neumann
2644722198 Reset read-only flag before removing 2015-08-19 22:02:47 +02:00
Alexander Neumann
10232155ef build.go: make sure to exit 1 on error 2015-08-19 21:40:36 +02:00