Jarek Kowalski
b6abef96e6
Merge github.com:kopia/repo into import-repo
2019-05-27 15:41:55 -07:00
Jarek Kowalski
bdafe117d9
Makefile: switched linter to golangci-lint and updated goveralls setup
...
fixed lint errors & removed .gometalinter config
2019-04-01 19:22:01 -07:00
Jarek Kowalski
fdfd336d6e
lint: fixed various linter issues
2019-04-01 18:59:48 -07:00
Jarek Kowalski
913f3392e3
cli: renamed 'repo migration' to 'snapshot migrate' and improved caching
2019-01-19 10:52:03 -08:00
Jarek Kowalski
b37c29513b
cli: added 'repo repair' subcommand which operates on the same arguments as 'repo connect', but it fixes contents of the repository by restoring missing kopia.repository file
...
tests: reorganized end-to-end tests
2019-01-19 05:48:40 -05:00
Jarek Kowalski
c35037601d
repo: embed format block bytes in all pack indexes
...
This allows format block to be recovered if any block
indexes survives. The block is not encrypted, but has HMAC is
followed by 2-byte size.
2019-01-12 14:24:09 -08:00
Jarek Kowalski
2e297dc60d
repo: upgraded to latest version, removed format block settings from repository create, instead --encryption=NONE disables encryption of both blocks and format
2019-01-12 09:24:12 -08:00
Jarek Kowalski
000ca67f25
test: fixed end_to_end_test
2019-01-02 19:59:21 -08:00
Jarek Kowalski
840d5ab749
removed support for legacy block format, to migrate sync to previous commit and run 'kopia repo upgrade'
2018-12-31 19:01:08 -08:00
Jarek Kowalski
6e8a48ed4f
Revamped hash and encryption algorithm handling.
...
This enables many more combinations of hash and encryption algorithm
to be selected, some with dramatically better performance.
2018-12-29 15:08:29 -08:00
Jarek Kowalski
afad2ad237
repo: moved repository_test to top level
2018-12-23 20:53:44 -08:00
Jarek Kowalski
3487cc191e
removed asynchronous mode for object.Manager
2018-12-22 19:58:00 -08:00
Jarek Kowalski
e458ee24d8
imported github.com/kopia/kopia/repo and renamed package path to github.com/kopia/repo/
2018-10-26 17:33:58 -07:00
Jarek Kowalski
bcbab79dd0
coverage: updated 'go test' command to include all packages
...
previously the coverage for each package only included lines covered by tests in the same package,
excluding end-to-end tests
now, we get very different coverage numbers...
2018-10-20 09:20:08 -07:00
Jarek Kowalski
3d61b4b39b
cli: fixed some 'diff' issues and added integration test
2018-10-06 11:32:54 -07:00
Jarek Kowalski
fbffab8bc9
cli: create global policy when repository is created
2018-09-29 09:51:15 +02:00
Jarek Kowalski
1bbc169c0d
added missing package godoc, fixed test paths
2018-08-31 19:12:58 -07:00
Jarek Kowalski
91066f2469
reorganized low-level repository packages by moving them all under kopia/kopia/repo/
2018-08-30 22:01:05 -07:00
Jarek Kowalski
0f20965143
added 'blockindex recover' tests
2018-08-25 16:30:11 -07:00
Jarek Kowalski
be32f6b717
enabled more comprehensive repository stress test after resolving remaining races:
...
skipped stress tests during short testing
changed default make target to run short tests
2018-07-20 18:48:00 -08:00
Jarek Kowalski
09c80ed0e9
disabled repository stress
2018-07-09 22:17:11 -07:00
Jarek Kowalski
c57531b751
switched Go logging library to github.com/op/go-logging which lets us override log levels per module
2018-07-09 21:28:12 -07:00
Jarek Kowalski
1c99dae4b1
added new type of stress test that utilizes multiple repository features
2018-07-09 21:28:12 -07:00
Jarek Kowalski
53db414ff7
Added simple analytics mechanism based on Google Analytics for tracking features usage and latency.
...
Controlled on command line via --analytics-consent (defaults to asking user)
2018-05-30 21:22:07 -07:00
Jarek Kowalski
d6477377f9
changed how index compaction works:
...
instead of having time-based naming, block manager will perform occasional compaction at startup time and delete unwanted blocks
The protocol is safe from concurrency standpoint and provides eventual consistency.
We only delete blocks after creating compacted blocks.
We retry loading index until (any) consistent index is fetched (possibly from cache) and all underlying blocks are also available, not necessarily the latest ones.
TODO - we need to periodically snapshot block index contents, so that if we have a bug somewhere in compaction code, we have a way of restoring working indexes.
2018-05-15 20:10:50 -07:00
Jarek Kowalski
6f7b3b8a80
fixed stress test failures due to expiration of a context
2018-05-09 22:22:37 -07:00
Jarek Kowalski
3a02ef24e0
retire block.ContentID and replace with string
2018-05-05 16:16:48 -07:00
Jarek Kowalski
be3c4e725e
added stress test
2018-05-05 16:14:31 -07:00
Jarek Kowalski
52bcb6223f
when loading active index, load 10 minutes extra to correct for clock skew and in-flight uploads
2018-04-21 10:36:53 -07:00
Jarek Kowalski
ab4fa93c92
remove cache directory on disconnect
2018-03-19 12:26:28 -07:00
Jarek Kowalski
6707d01a22
switched local caching to use storage.Storage
2018-03-04 16:58:20 -08:00
Jarek Kowalski
e710dcdff3
additional integration tests
2018-02-18 11:59:32 -08:00
Jarek Kowalski
663fee1ef1
rudimentary end-to-end tests to be running as part of travis
2018-02-18 10:52:15 -08:00
Jarek Kowalski
10ca234633
switched to using zerolog for logging, by default log level=info, can be set to debug on commandline
2018-01-01 19:12:35 -08:00
Jarek Kowalski
8435ed4c80
beginnings of end-to-end test, cleaned up stdout vs stderr output in a few cases
2017-09-04 17:42:50 -07:00