When connecting to Google Drive with a service account key, only files in the
service account's own hidden drive space are listable. This change finds
the given storage path among shared folders first so that folders from the user
space can be made accessible via service account.
Allows writing to the drive root using:
gcd://driveid@ or gcd://driveid@/
To write to the root of the default user's drive use the special
shared drive named 'root':
gcd://root@/
A shared drive can be accessed via
gcd://sharedDriveId@path/to/storage
sharedDriveId is optional and if omitted duplicacy stores to the user's drive.
This remains backwards compatible with existing drives. E.g.
gcd://path/to/storage
Note: Shared Drives were previously named Team Drives.
If Google thinks that a file is malware or spam (which can happen
spuriously to blobs of encrypted data), it will prevent the initial
download and return an error with reason "cannotDownloadAbusiveFile".
The API expects a program to prompt the user in this case and then,
optionally, let them bypass it.
Ideally duplicacy should prompt, but this patch just logs a warning.
When I printed `err.(*googleapi.Error)`, its `Errors` field was empty,
hence the sketchy string matching. It's possible that I did something
wrong, though.
This reverts commit 801433340a.
That fix puts everything in the cache which leads to a memory explosion problem.
The correct fix is to only put directories in the cache.
* master:
Run goimports on all source files
restored original stats output, enabled option to switch to tabular
added -tabular to check options
moving "func min" to MinInt in utils
reorder check -stats columns
print additional, table-formatted stats for CHECK
# Conflicts:
# src/duplicacy_gcdstorage.go