Jarek Kowalski
862fc69bff
cli: marked --ignore-{file,dir}-errors as enums, so that CLI parser enforces correct values
2020-02-11 06:41:20 -08:00
Nick
1a24c34df8
Ignore read errors based on policy settings ( #207 )
...
* Ignore read errors based on policy settings
Added an error handling policy section. Can independently control error handling for directory and file read errors, toggle-able from the `policy set` command to either "true", "false", or "inherit". If any read error is hit, the error handling will check the effective policy on whether to ignore it or not. Currently there is no differentiation between read error types, though in the future we may want to add the `errors.Is(err, os.ErrPermission)` conditional.
Fix was implemented such that the policy ignores read errors ONLY on child entries of the source. So a snapshot will still fail if the source root directory itself can't be read, but you can ignore the error if a file or a subdirectory in the snapshot source root can't be read. I did this to address some otherwise strange behavior where you would successfully snapshot (because you ignored the error), but couldn't restore that snapshot because nothing really happened during the operation.
2020-02-10 17:35:53 -08:00
Jarek Kowalski
ac70a38101
lint: upgraded to 1.22.2 and make lint issues a build failure
...
fixed or silenced linter warnings, mostly due to magic numeric constants
2020-01-03 16:39:30 -08:00
Jarek Kowalski
2ba4e83cef
moved all compression to separate package and sanitized identifiers
2019-12-10 23:25:28 -08:00
Jarek Kowalski
8ab93e0e2f
addressed PR comments
2019-12-10 23:25:28 -08:00
Jarek Kowalski
c057e17379
compression: added support for min/max file sizes eligible for compression
2019-12-10 23:25:28 -08:00
Jarek Kowalski
a97b89662d
policy: added compression policy
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
Pavan Navarathna
829742599c
[ #124 ] Add optional flags to override hostname and username
2019-11-22 15:15:21 +09: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
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
a6a153b22e
switched fmt.Errorf() to errors.Wrap()
2019-05-11 12:34:14 -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
d47f662316
refactoring: moved kopia/kopia/policy to kopia/kopia/snapshot/policy
2018-10-20 09:55:52 -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
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
6587ade1f9
cli: added 'policy edit' command which launches an editor and allows user to edit policy JSON directly
2018-08-20 19:07:44 -07:00
Jarek Kowalski
1ff003c820
added internal lib for gitignore-style pattern matching
...
added 'ignorefs' which transparently hides all files according to .kopiaignore, which is very similar to .gitignore
2018-08-19 11:48:55 -10:00
Jarek Kowalski
b2b34c1dea
reacted to a change in gometalinter that failed the build
2018-07-10 06:19:22 -07:00
Jarek Kowalski
4faf3cd9d0
finalized CLI to manipulate policies
2018-06-16 12:17:58 -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
1c4e0e1e47
removed legacy oid format
2018-03-19 19:31:03 -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
92330ac247
refactored policy manager to use SourceInfo
2018-02-19 13:20:32 -08:00
Jarek Kowalski
16e44cb37f
renamed policy.Manager as snapshot.PolicyManager and policy.Policy as snapshot.Policy
2018-02-19 10:59:15 -08:00
Jarek Kowalski
d97f49285f
policy CLI and API cleanup
2018-02-19 10:53:29 -08: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
6e83ad0b9b
moved policies to separate package
...
refactored policy management into policy.Manager that uses manifest.Manager internally
2017-11-27 18:05:32 -08:00
Jarek Kowalski
d2105aea40
added files policy include/exclude configuration and checking during Upload
2017-08-19 23:36:49 -07:00
Jarek Kowalski
cfbef13aff
Major refactoring to how repository connections are established and managed to simplify programmatic API usage and CLI.
...
Removed unnecessary and confusing options, improved the API.
2017-08-01 08:35:14 +02:00
Jarek Kowalski
095fc4aba4
removed 'client' package and merged with 'repo', names still not final
2017-08-01 08:29:42 +02:00
Jarek Kowalski
4dcdb69dcc
replaced use of Vault with Repository
2017-08-01 08:29:41 +02:00
Jarek Kowalski
4a878738a0
moved main executable package to kopia/kopia, moved cli support to kopia/kopia/cli
2017-07-17 15:20:32 +02:00