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