Commit Graph
90 Commits
Author SHA1 Message Date
Jarek Kowalski 31e5bce1cb moved object management to kopia/kopia/object 2017-10-14 16:38:22 -07:00
Jarek Kowalski 371fc15694 merged 'repofs' into 'snapshot' package 2017-09-04 20:26:25 -07:00
Jarek Kowalski b08a35e92b refactored FS cache into reusable wrapper that can be applied on top of any filesystem abstraction 2017-09-04 17:42:50 -07:00
Jarek Kowalski 998ed1ddac simplified MetadataManager API for listing, added caching of metadata items (unbounded for now)
disabled go <1.9 since we're now using t.Helper(), which is awesome
2017-08-29 21:46:51 -07:00
Jarek Kowalski e01fcff9a4 fixed sorting of synthetic fs.Entries 2017-08-27 14:49:15 -07:00
Jarek Kowalski 2b887b0b2e changed fs.Reader to be a Seeker too 2017-08-27 08:58:59 -07:00
Jarek Kowalski b769dc1863 emit a warning instead of failing when unsupported directory entries are encountered 2017-08-20 13:54:54 -07:00
Jarek Kowalski ff487d1e85 added ability to mount special object 'all' that exposes the whole set of snapshots grouped by user@host, path and time 2017-08-19 19:49:18 -07:00
Jarek Kowalski 81fd499bae moved upload functionality to snapshot package 2017-01-30 20:07:02 -08:00
Jarek Kowalski 0195d2740a moved directory JSON format handling to internal/dir 2017-01-30 20:04:13 -08:00
Jarek Kowalski 4b89c95721 moved hashcache to internal 2017-01-29 07:50:49 -08:00
Jarek Kowalski bfd978a589 moved Snapshot and SnasphotSourceInfo to separate package 2017-01-28 17:33:47 -08:00
Jarek Kowalski 65bc50de5d changed how paths are interpreted for 'kopia backups' and 'kopia expire' 2016-11-23 23:49:29 -08:00
Jarek Kowalski a821a0053d fixed bundling 2016-10-15 16:32:33 -07:00
Jarek Kowalski f5cd6285d4 chanegd bundling algorithm to avoid small bundles where one would be ok 2016-10-15 16:27:37 -07:00
Jarek Kowalski 36e29f9249 added upload progress 2016-10-15 13:17:21 -07:00
Jarek Kowalski 4efc5825fa added 'kopia cleanup' and 'kopia expire' subcommands 2016-10-04 22:14:56 -07:00
Jarek Kowalski b21a53bccd added backup size output 2016-10-01 10:19:38 -07:00
Jarek Kowalski d5a78812b7 additional stats to repofs.Upload() 2016-09-26 19:23:48 -07:00
Jarek Kowalski e322b39711 plumbed through context to repofs.Upload() 2016-09-25 21:10:39 -07:00
Jarek Kowalski 5959aa354e added support for symlink reads to repofs 2016-09-25 10:16:58 -07:00
Jarek Kowalski 175c05d547 more repofs.Upload() API tweaks 2016-09-25 09:42:29 -07:00
Jarek Kowalski ffda769607 replaced repofs.Uploader with static Upload() method 2016-09-24 15:27:49 -07:00
Jarek Kowalski 259c173233 merged backup.Generator and repofs.Uploader 2016-09-24 15:17:53 -07:00
Jarek Kowalski 88e3366a41 Added support for upload and download throttling for GCS. 2016-09-19 20:38:25 -07:00
Jarek Kowalski 5fea168603 plumbed through context.Context to storage creation 2016-09-11 10:35:38 -07:00
Jarek Kowalski 3323d17536 renamed storage.Storage to blob.Storage 2016-09-08 21:11:50 -07:00
Jarek Kowalski 00afa2dff6 renamed ObjectID.UIString to String 2016-09-07 18:25:12 -07:00
Jarek Kowalski f890d19b61 Cleaned up Uploader API by removing stuff that's not implemented. 2016-08-27 21:26:45 -07:00
Jarek Kowalski 6f5b5dc9a9 Enabled bundling by default. 2016-08-27 14:29:35 -07:00
Jarek Kowalski 50aead87e5 added local FS logging option --trace-localfs 2016-08-27 12:03:05 -07:00
Jarek Kowalski 50370ae96a cleaned up fs/ contents - extracted fs/localfs/ and fs/loggingfs/ moved repofs/ to fs/repofs/ 2016-08-27 11:26:16 -07:00
Jarek Kowalski 940e63832d Moved ObjectID and BundledChildren out of EntryMetadata and into repofs.dirEntry.
Fixed metadata hashing of bundles.
2016-08-27 10:45:45 -07:00
Jarek Kowalski cded7ba49b renamed fs.EntryMetadataReadCloser as fs.Reader 2016-08-26 21:31:51 -07:00
Jarek Kowalski 38fc47e2f1 Continuing the API cleanup, Created internal/dirstream, internal/mockfs, repo/repofs and upload packages. 2016-08-26 21:26:35 -07:00
Jarek Kowalski 80d48a9ebf moved BlockSize() check to async portion 2016-08-25 23:43:09 -07:00
Jarek Kowalski ef4a3e4ed1 changed repo.Repository to be opaque struct 2016-08-25 23:23:05 -07:00
Jarek Kowalski f70c69c9d9 several bugfixes, added tests for ObjectID UIString round-tripping 2016-08-22 21:03:06 -07:00
Jarek Kowalski 57f03fc43d added experimental bundles support 2016-08-22 06:25:27 -07:00
Jarek Kowalski 91bfa7cba3 API tweaks and godoc 2016-08-21 20:25:01 -07:00
Jarek Kowalski 16b6b2d8bd godoc updates, API cleanup 2016-08-21 12:26:49 -07:00
Jarek Kowalski d0fbbbb12e bundle tweaks 2016-08-21 11:20:14 -07:00
Jarek Kowalski 28baa0bf19 entry JSON format tweaks 2016-08-21 10:38:39 -07:00
Jarek Kowalski 0c6ba27eaa doc and API cleanup 2016-08-21 09:28:52 -07:00
Jarek Kowalski 91d4346f67 replaced generated protobuf code with hand-written, switched back to JSON serialization, but preserving protobuf code structure.
The generated code leaked unclean concepts to public API.
2016-08-21 00:21:40 -07:00
Jarek Kowalski e528b32748 Major refactoring of data formats to use protobuf instead of JSON. This is a breaking change to data formats, but hoping to stabilize soon.
This change removes lots of pointless string and custom format parsing code and instead relies on protobuf to do the thing. JSON is still an option thanks to proto3-generated output.

- Refactored ObjectID to use protobuf
- Indirect blocks to use protobuf (in the form of seek table)
- Added generic proto stream reader and writer
- ObjectIDFormat became proto enum

Also:

- fixed major issue where indirect object ID entries were not encrypted, since they were storing block IDs and not object IDs.
- dropped support for majority of formats, only supporting HMAC-{SHA256,SHA512,SHA512_384} hashes with AES256.
This produces object IDs of 32 or 64 characters long.
- changed how pretty-printing works for 'kopia show'
2016-08-20 16:59:10 -07:00
Jarek Kowalski 966d1c638b changed directory JSON format to be more self-explanatory 2016-08-05 20:15:55 -07:00
Jarek Kowalski 8af22b8503 Store raw, unescaped JSON whenever possible. 2016-08-05 07:09:56 -07:00
Jarek Kowalski 16e9420db8 added provisional, untested support for uploading bundles of files 2016-08-04 22:05:16 -07:00
Jarek Kowalski e3dc066c58 Moved EntryMetadataReadCloser to entry.go 2016-08-03 20:55:28 -07:00