mirror of
https://github.com/rclone/rclone.git
synced 2024-11-23 00:43:49 +01:00
drive: added --drive-copy-shortcut-content - fixes #4604
This commit is contained in:
parent
3e125443aa
commit
aa2d7f00c2
@ -299,6 +299,17 @@ a non root folder as its starting point.
|
|||||||
Default: true,
|
Default: true,
|
||||||
Help: "Send files to the trash instead of deleting permanently.\n\nDefaults to true, namely sending files to the trash.\nUse `--drive-use-trash=false` to delete files permanently instead.",
|
Help: "Send files to the trash instead of deleting permanently.\n\nDefaults to true, namely sending files to the trash.\nUse `--drive-use-trash=false` to delete files permanently instead.",
|
||||||
Advanced: true,
|
Advanced: true,
|
||||||
|
}, {
|
||||||
|
Name: "copy_shortcut_content",
|
||||||
|
Default: false,
|
||||||
|
Help: `Server side copy contents of shortcuts instead of the shortcut.
|
||||||
|
|
||||||
|
When doing server side copies, normally rclone will copy shortcuts as
|
||||||
|
shortcuts.
|
||||||
|
|
||||||
|
If this flag is used then rclone will copy the contents of shortcuts
|
||||||
|
rather than shortcuts themselves when doing server side copies.`,
|
||||||
|
Advanced: true,
|
||||||
}, {
|
}, {
|
||||||
Name: "skip_gdocs",
|
Name: "skip_gdocs",
|
||||||
Default: false,
|
Default: false,
|
||||||
@ -578,6 +589,7 @@ type Options struct {
|
|||||||
TeamDriveID string `config:"team_drive"`
|
TeamDriveID string `config:"team_drive"`
|
||||||
AuthOwnerOnly bool `config:"auth_owner_only"`
|
AuthOwnerOnly bool `config:"auth_owner_only"`
|
||||||
UseTrash bool `config:"use_trash"`
|
UseTrash bool `config:"use_trash"`
|
||||||
|
CopyShortcutContent bool `config:"copy_shortcut_content"`
|
||||||
SkipGdocs bool `config:"skip_gdocs"`
|
SkipGdocs bool `config:"skip_gdocs"`
|
||||||
SkipChecksumGphotos bool `config:"skip_checksum_gphotos"`
|
SkipChecksumGphotos bool `config:"skip_checksum_gphotos"`
|
||||||
SharedWithMe bool `config:"shared_with_me"`
|
SharedWithMe bool `config:"shared_with_me"`
|
||||||
@ -2374,9 +2386,16 @@ func (f *Fs) Copy(ctx context.Context, src fs.Object, remote string) (fs.Object,
|
|||||||
createInfo.Description = ""
|
createInfo.Description = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the ID of the thing to copy - this is the shortcut if available
|
// get the ID of the thing to copy
|
||||||
|
// copy the contents if CopyShortcutContent
|
||||||
|
// else copy the shortcut only
|
||||||
|
|
||||||
id := shortcutID(srcObj.id)
|
id := shortcutID(srcObj.id)
|
||||||
|
|
||||||
|
if f.opt.CopyShortcutContent {
|
||||||
|
id = actualID(srcObj.id)
|
||||||
|
}
|
||||||
|
|
||||||
var info *drive.File
|
var info *drive.File
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
info, err = f.svc.Files.Copy(id, createInfo).
|
info, err = f.svc.Files.Copy(id, createInfo).
|
||||||
|
@ -410,7 +410,7 @@ For shortcuts pointing to files:
|
|||||||
- When downloading the contents of the destination file is downloaded.
|
- When downloading the contents of the destination file is downloaded.
|
||||||
- When updating shortcut file with a non shortcut file, the shortcut is removed then a new file is uploaded in place of the shortcut.
|
- When updating shortcut file with a non shortcut file, the shortcut is removed then a new file is uploaded in place of the shortcut.
|
||||||
- When server-side moving (renaming) the shortcut is renamed, not the destination file.
|
- When server-side moving (renaming) the shortcut is renamed, not the destination file.
|
||||||
- When server-side copying the shortcut is copied, not the contents of the shortcut.
|
- When server-side copying the shortcut is copied, not the contents of the shortcut. (unless `--drive-copy-shortcut-content` is in use in which case the contents of the shortcut gets copied).
|
||||||
- When deleting the shortcut is deleted not the linked file.
|
- When deleting the shortcut is deleted not the linked file.
|
||||||
- When setting the modification time, the modification time of the linked file will be set.
|
- When setting the modification time, the modification time of the linked file will be set.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user