Jarek Kowalski
c057e17379
compression: added support for min/max file sizes eligible for compression
2019-12-10 23:25:28 -08:00
Jarek Kowalski
b68ef7d781
refactored policy types and policy.Getter
2019-12-06 23:53:22 -08:00
Jarek Kowalski
6217df1a87
lint: switched to 1.21 and fixed a ton of whitespace issues discovered
...
by new wsl linter
2019-11-26 06:49:49 -08:00
Jarek Kowalski
6ef696d97a
cli: resolve symlinks for snapshot roots
...
also - error handling improvements in the CLI
2019-07-18 08:40:44 -10: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
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
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
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
0b89cbef3b
cli: added 'repo upgrade' command that invokes Repository.Upgrade()
2018-12-31 17:12:30 -08:00
Jarek Kowalski
a6a9729f71
upgraded repo to v0.2.0
2018-12-29 15:14:29 -08: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
d47f662316
refactoring: moved kopia/kopia/policy to kopia/kopia/snapshot/policy
2018-10-20 09:55:52 -07:00
Jarek Kowalski
fbffab8bc9
cli: create global policy when repository is created
2018-09-29 09:51:15 +02:00
Jarek Kowalski
1b014c875a
simplified repository API password handling.
...
completely rewrote password storage:
- by default passwords are kept in OS-specific keyring (Keychain on macOS,
Windows Credentials Manager on Windows), which can be optionally disabled
to store password in a local file.
- on Linux keychain is disabled by default (does not work reliably
in terminal sessions), but can be enabled using command-line flag.
2018-09-07 21:34:31 -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
b2b34c1dea
reacted to a change in gometalinter that failed the build
2018-07-10 06:19:22 -07:00
Jarek Kowalski
ba6419339a
refactored storage.ListBlocks() to be callback based which simplifies usage significantly
2018-06-23 13:47:43 -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
d8201229d8
plumbed through ctx in storage.Storage APIs and all uses
2018-04-03 17:39:54 -07:00
Jarek Kowalski
faa2625a5f
revamped CLI help to hide most commands
2018-02-15 19:49:51 -08:00
Jarek Kowalski
4564bc704f
breaking format change: removed support for groups in block manager, this produces bigger, tightly packed blocks
...
align pack blocks to 4096 bytes and insert random preamble
2018-02-10 13:07:10 -08:00
Jarek Kowalski
090d97ba78
cli: reorganized all repo commands (connect/create/status) to top level
2018-01-10 19:13:09 -08:00
Jarek Kowalski
bf4c0e694d
refactored CLI to use individual subcommands to connect to individual storage types, each with specialized flags and validation
2018-01-10 19:13:08 -08:00
Jarek Kowalski
c288daef04
eradicated old metadata.Manager and replaced snapshot.Manager to use manifest.Manager instead
2017-11-27 19:15:02 -08:00
Jarek Kowalski
b6575a97ba
moved metadata manager to 'metadata' package and refactored initialization sequence
2017-10-29 10:29:22 -07:00
Jarek Kowalski
b5d0f2d120
more renames
2017-10-14 16:38:27 -07:00
Jarek Kowalski
31e5bce1cb
moved object management to kopia/kopia/object
2017-10-14 16:38:22 -07:00
Jarek Kowalski
f33ae14573
renamed 'blob.Storage' to 'storage.Storage'
2017-10-14 16:38:09 -07:00
Jarek Kowalski
cc3e590136
moved block manager and formatter to a separate package
2017-10-09 06:42:30 -07:00
Jarek Kowalski
91e43b6842
changed how pack files get split by using the same splitter mechanism (static or dynamic) in use for regular objects
2017-09-14 19:17:19 -07: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
Jarek Kowalski
f606ab4347
reorganized more top-level CLI commands into subcommands
2017-08-20 07:51:24 -07:00