Commit Graph
245 Commits
Author SHA1 Message Date
Jarek Kowalski 22170b4832 cli: changed 'cache set' subcommand to support changing individual parameters 2019-06-11 22:08:52 -07:00
Jarek Kowalski 0d89ae3f79 Changed upload allow specifying N previous manifests
This avoids re-hashing of files previously partially uploaded
no matter where the upload was interrupted.
2019-06-08 18:01:47 -07:00
Jarek Kowalski ae1510b65c Deprecate hashcache and replace it with simply walking previous snapshot directory tree.
This cleans up the code a lot and removes many ugly hacks.
The performance is pretty reasonable and with separate metadata cache it's likely to stay that way.
2019-06-08 18:01:47 -07:00
Jarek Kowalski 9b87c32570 improved cache info command to show all caches 2019-06-08 17:42:44 -07:00
Jarek Kowalski bf311400f4 Added separate cache for metadata.
All blocks with a non-empty prefix land in that cache which has its own
size and expires independently from content cache.
2019-06-08 11:57:23 -07:00
Jarek Kowalski 72520029b0 golangci-lint: added more linters
Also fixed pre-existing lint errors.
2019-06-02 22:56:57 -07:00
Jarek Kowalski 54edb97b3a refactoring: renamed repo/block to repo/content
Also introduced strongly typed content.ID and manifest.ID (instead of string)

This aligns identifiers across all layers of repository:

blob.ID
content.ID
object.ID
manifest.ID
2019-06-01 22:24:19 -07:00
Jarek Kowalski 916da07e0f deprecate block format v0 2019-06-01 16:40:51 -07:00
Jarek Kowalski 9e5d0beccd refactoring: renamed storage.Storage to blob.Storage
This updates the terminology everywhere - blocks become blobs and
`storage.Storage` becomes `blob.Storage`.

Also introduced blob.ID which is a specialized string type, that's
different from CABS block ID.

Also renamed CLI subcommands from `kopia storage` to `kopia blob`.

While at it introduced `block.ErrBlockNotFound` and
`object.ErrObjectNotFound` that do not leak from lower layers.
2019-06-01 14:10:35 -07:00
Jarek Kowalski 1a7a02ddbe cleanup imports by grouping all local imports together 2019-06-01 10:57:55 -07:00
Jarek Kowalski 63303904e1 switched remaining fmt.Errorf to errors.Wrap() 2019-06-01 10:57:05 -07:00
Jarek Kowalski 698d2feb66 initialization improvements:
- create filesystem directory if it does not exists
- removed dangerous --overwrite option
- changed default splitter to a non-deprecated one
2019-05-31 20:12:46 -07:00
Jarek Kowalski 03339c18af [breaking change] deprecated DYNAMIC splitter due to license issue
The splitter in question was depending on
github.com/silvasur/buzhash which is not licensed according to FOSSA bot

Switched to new faster implementation of buzhash, which is
unfortunately incompatible and will split the objects in different
places.

This change is be semi-breaking - old repositories can be read, but
when uploading large objects they will be re-uploaded where previously
they would be de-duped.

Also added 'benchmark splitters' subcommand and moved 'block cryptobenchmark'
subcommand to 'benchmark crypto'.
2019-05-30 22:20:45 -07:00
Jarek Kowalski 0c41d41276 Fixed up paths after merge 2019-05-27 15:48:39 -07:00
Jarek Kowalski a6a153b22e switched fmt.Errorf() to errors.Wrap() 2019-05-11 12:34:14 -07:00
Jarek Kowalski 2787011e02 Revamped kopia.io website.
Added build pipeline to keep the reference in sync with the code.
2019-05-09 22:11:03 -07:00
Jarek Kowalski c0fc0c7a57 cli: fixed linter issues 2019-01-21 14:26:21 -08:00
Jarek Kowalski a34f629474 cli: fixed 'repo migrate' cancellation 2019-01-21 13:13:49 -08:00
Jarek Kowalski a70d6d804d cli: parallelize snapshot migration 2019-01-20 13:23:16 -08: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 6ce6a47d00 cli: fixed flags for blockindex subcommands 2019-01-12 11:19:38 -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 be70daa3e3 cli: added warning to 'snapshot list' when no snapshots are found 2019-01-07 23:44:15 -08:00
Jarek Kowalski d5f5977e27 fixed lint error 2019-01-06 17:58:45 -08:00
Jarek Kowalski a5b33944eb added 'repo connect from-config' for importing existing config across machines 2019-01-06 17:07:48 -08:00
Jarek Kowalski b9cff7b480 cli: changed 'snapshot list' parameters meaning
--all (-a) displays snapshots from all hosts (by default only current host)

Renamed previous --all (-a) to --show-identical (-l)
Updated help.
2019-01-02 18:34:34 -08:00
Jarek Kowalski 0b89cbef3b cli: added 'repo upgrade' command that invokes Repository.Upgrade() 2018-12-31 17:12:30 -08:00
Jarek Kowalski 18532f736b cli: fixed linter warning 2018-12-29 15:29:21 -08:00
Jarek Kowalski 1cd927c8fc cli: added 'block cryptobenchmark' subcommand 2018-12-29 15:14:49 -08:00
Jarek Kowalski a6a9729f71 upgraded repo to v0.2.0 2018-12-29 15:14:29 -08:00
Jarek Kowalski 45ce0b35b1 snapshot: moved dir.Entry to snapshot.DirEntry 2018-11-03 11:44:19 -07:00
Jarek Kowalski 4edd0a13bb cli: swapped object ID and file name in ls output 2018-11-03 11:35:31 -07:00
Jarek Kowalski 242d012a54 removed fs.EntryMetadata and replaced fs.Entry with os.FileInfo + small additions 2018-11-03 11:28:06 -07:00
Jarek Kowalski bb4c6674c7 snapshotfs: merged internal.Upload into snapshotfs 2018-11-03 08:39:07 -07:00
Jarek Kowalski 327d8317d8 refactored repo/ into separate github.com/kopia/repo/ git repository 2018-10-26 20:40:57 -07:00
Jarek Kowalski a824c96271 refactor: repo.NewRepositoryOptions 2018-10-23 21:37:30 -07:00
Jarek Kowalski dd1c0943cd refactor: moved config file management to kopia/kopia/repo
also fixed layering issue and removed dependency from 'object'
on 'config'
2018-10-23 19:43:43 -07:00
Jarek Kowalski c999c0fba8 moved fs/repofs to snapshot/snapshotfs 2018-10-20 11:36:14 -07:00
Jarek Kowalski d47f662316 refactoring: moved kopia/kopia/policy to kopia/kopia/snapshot/policy 2018-10-20 09:55:52 -07:00
Jarek Kowalski 3d61b4b39b cli: fixed some 'diff' issues and added integration test 2018-10-06 11:32:54 -07:00
Jarek Kowalski 77aef5d02e cli: added 'diff' command which compares two directories and optionally emits unified diff 2018-10-06 09:55:36 -07:00
Jarek Kowalski 800c95dc41 cli: 'snap list' switched to ellided snapshot list by default (can be changed with '-a') 2018-10-06 09:55:36 -07:00
Jarek Kowalski f4573f089e removed 'object' subcommand and flattened children directly under app 2018-10-06 09:55:12 -07:00
Jarek Kowalski 3c26be391a added global hidden --timezone flag for changing the timezone in which the timestamps are displayed 2018-10-06 09:54:43 -07:00
Jarek Kowalski fbffab8bc9 cli: create global policy when repository is created 2018-09-29 09:51:15 +02:00
Jarek Kowalski 4270d8a67f policy: refactored retention policy to be applied in policy.ApplyRetentionPolicy() 2018-09-16 12:48:07 -07:00
Jarek Kowalski 41eaed003a cli: added 'snapshot list --skip-identical option to shorten the output 2018-09-16 10:01:03 -07:00
Jarek Kowalski d8398c4a58 cli: added auto-expiration of snapshots at the end of an upload 2018-09-15 22:17:39 -07:00
Jarek Kowalski 61bdd33439 block: added compaction options to exclude deleted blocks and force compaction of large blocks 2018-09-15 17:43:00 -07:00