Commit Graph

239 Commits

Author SHA1 Message Date
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
Jarek Kowalski
304b43d27c cli: additional output options for 'block list' 2018-09-15 17:32:58 -07:00
Jarek Kowalski
ee2d60214e cli: added 'block list --deleted-only' option 2018-09-15 15:25:28 -07:00
Jarek Kowalski
08d62d60f1 revamped progress bar by including hashing and uploading part separately 2018-09-14 11:56:48 -07:00
Jarek Kowalski
636837317b added 'block verify' subcommand 2018-09-13 19:33:12 -07:00
Jarek Kowalski
69782d2abe refactored cache commands 2018-09-13 19:33:12 -07:00
Jarek Kowalski
906b8eaee3 plumbed through context to all manifest manager methods and switched to lazy initialization 2018-09-13 15:34:29 -07:00