Jarek Kowalski
e3854f7773
BREAKING: changed how hostname/username are handled
...
The hostname/username are now persisted when connecting to repository
in a local config file.
This prevents weird behavior changes when hostname is suddenly changed,
such as when moving between networks.
repo.Repository will now expose Hostname/Username properties which
are always guarnateed to be set, and are used throughout.
Removed --hostname/--username overrides when taking snapshot et.al.
2020-02-25 20:40:23 -08:00
Jarek Kowalski
c8fcae93aa
logging: refactored logging
...
This is mostly mechanical and changes how loggers are instantiated.
Logger is now associated with a context, passed around all methods,
(most methods had ctx, but had to add it in a few missing places).
By default Kopia does not produce any logs, but it can be overridden,
either locally for a nested context, by calling
ctx = logging.WithLogger(ctx, newLoggerFunc)
To override logs globally, call logging.SetDefaultLogger(newLoggerFunc)
This refactoring allowed removing dependency from Kopia repo
and go-logging library (the CLI still uses it, though).
It is now also possible to have all test methods emit logs using
t.Logf() so that they show up in failure reports, which should make
debugging of test failures suck less.
2020-02-25 17:24:44 -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
Pavan Navarathna
829742599c
[ #124 ] Add optional flags to override hostname and username
2019-11-22 15:15:21 +09:00
Jarek Kowalski
0654e30b26
linter: upgraded to golangci-lint 1.18.0, fixed or suppressed warnings
2019-09-11 06:42:08 -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
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
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
0c41d41276
Fixed up paths after merge
2019-05-27 15:48:39 -07: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
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
242d012a54
removed fs.EntryMetadata and replaced fs.Entry with os.FileInfo + small additions
2018-11-03 11:28:06 -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
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
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
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
41eaed003a
cli: added 'snapshot list --skip-identical option to shorten the output
2018-09-16 10:01:03 -07:00
Jarek Kowalski
304b43d27c
cli: additional output options for 'block list'
2018-09-15 17:32:58 -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
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
6484a55d7c
removed policy.Manager and snapshot.Manager and switched to package-level function interface instead
2018-08-30 06:47:58 -07:00
Jarek Kowalski
3ef4593b03
refactored policy management into separate policy/ package
2018-08-29 23:08:40 -07:00
Jarek Kowalski
9060e7d310
moved repository VFS nodes into fs/repofs/ package
2018-08-29 22:56:23 -07:00
Jarek Kowalski
c57531b751
switched Go logging library to github.com/op/go-logging which lets us override log levels per module
2018-07-09 21:28:12 -07:00
Jarek Kowalski
4faf3cd9d0
finalized CLI to manipulate policies
2018-06-16 12:17:58 -07:00
Jarek Kowalski
e36d02c59b
emit per-dir incomplete reason
...
store entire rootEntry on snapshot nmanifest
format 'snapshot list' consistently for both root and nested items
2018-05-19 22:00:14 -07:00
Jarek Kowalski
ec779b14c7
refactored and cleaned up policy management, added retention tags to snapshot list
2018-05-17 20:31:37 -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
a608c2f443
tweaked snapshot list
2018-03-24 12:22:21 -07:00
Jarek Kowalski
1c4e0e1e47
removed legacy oid format
2018-03-19 19:31:03 -07:00
Jarek Kowalski
2e61cc5688
code simplification, enabled gocyclo linter
2018-03-19 14:08:19 -07:00
Jarek Kowalski
453bab3560
fixed some lint errors, mostly dead code and missing error checks
2018-03-19 12:26:28 -07:00
Jarek Kowalski
772ef9a286
added 'ls' alias for 'snapshot list'
2018-03-04 18:17:18 -08:00
Jarek Kowalski
7833626c4a
added error handling when unable to load block index
2018-01-24 11:44:26 +00:00
Jarek Kowalski
10ca234633
switched to using zerolog for logging, by default log level=info, can be set to debug on commandline
2018-01-01 19:12:35 -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
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
81f060a2c3
CLI: renamed 'backup' to 'snapshot create' and 'backups' to 'snapshot list'
2017-08-19 23:44:51 -07:00