Currently, filepath.Join is used to join path fragments that are supposed
to be created on remote storage backends. This could theoretically cause
problems when the separators used by the client and the remotes do not match.
It's unlikely this causes problems right now, but it's definitely better to
rectify it before it causes further confusion.
This was raised in #541
* Fix lint warnings and std lib deprecations
* Replace deprecated std lib with maintained drop-in replacement fork
Backwartds compatible with original package and suggested by std lib due to security and stability issues.
* OAuth2 is now a direct dependency due to Dropbox
* Undo change
* Revert "Replace deprecated std lib with maintained drop-in replacement fork"
This reverts commit 2887bd409f038757b8e60d2a0d2a872f5d44715f.
* Update channel handling
* Add linter for PRs
* Rename CI, fetch all issues, add govet
* Print context in log field instead of prepending to message
* Log messages on pruning do not need a description anymore
* Remove redundant information from logs and errors
* Simplify logging, fix WebDAV spelling
* Define options types per package
* Move util functions that are not used cross package
* Add per file license headers
* Rename config type
* Added abstract helper interface and implemented it for all storage backends
* Moved storage client initializations also to helper classes
* Fixed ssh init issue
* Moved script parameter to helper struct to simplify script init.
* Created sub modules. Enhanced abstract implementation.
* Fixed config issue
* Fixed declaration issues. Added config to interface.
* Added StorageProviders to unify all backends.
* Cleanup, optimizations, comments.
* Applied discussed changes. See description.
Moved modules to internal packages.
Replaced StoragePool with slice.
Moved conditional for init of storage backends back to script.
* Fix docker build issue
* Fixed accidentally removed local copy condition.
* Delete .gitignore
* Renaming/changes according to review
Renamed Init functions and interface.
Replaced config object with specific config values.
Init func returns interface instead of struct.
Removed custom import names where possible.
* Fixed auto-complete error.
* Combined copy instructions into one layer.
* Added logging func for storages.
* Introduced logging func for errors too.
* Missed an error message
* Moved config back to main. Optimized prune stats handling.
* Move stats back to main package
* Code doc stuff
* Apply changes from #136
* Replace name field with function.
* Changed receiver names from stg to b.
* Renamed LogFuncDef to Log
* Removed redundant package name.
* Renamed storagePool to storages.
* Simplified creation of new storage backend.
* Added initialization for storage stats map.
* Invert .dockerignore patterns.
* Fix package typo