That feels like you need a script / manually make these changes.
If I have a regular folder, I just need to figure out what the crypt name would be by making the same directory name with the same keys somewhere else or in place.
felix@gemini:~/test$ rclone ls testnondir:
130 test2/hosts
felix@gemini:~/test$ rclone mkdir testdir:test2
felix@gemini:~/test$ ls
fn0jbidpl7cqq9so46diq346so test2
felix@gemini:~/test$ rmdir fn0jbidpl7cqq9so46diq346so
felix@gemini:~/test$ mv test2 fn0jbidpl7cqq9so46diq346so
felix@gemini:~/test$ rclone ls testdir:
130 test2/hosts
Once I make the name, I can just rename the normal folder to the crypt name and it'll show up in the encrypted remote.
I have one crypt remote with it off and one with it on and worked with my test case.
did more testing, this command seems to have worked. rclone move gcrypt_direnc_false:source gcrypt_direnc_true:dest -vv --crypt-server-side-across-configs --drive-server-side-across-configs
rclone move gcrypt_direnc_false:source gcrypt_direnc_true:dest -vv --crypt-server-side-across-configs --drive-server-side-across-configs
DEBUG : Setting --config "C:\\data\\rclone\\scripts\\rclone.conf" from environment variable RCLONE_CONFIG="C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : rclone: Version "v1.57.0" starting with parameters ["c:\\data\\rclone\\scripts\\rclone.exe" "move" "gcrypt_direnc_false:source" "gcrypt_direnc_true:dest" "-vv" "--crypt-server-side-across-configs" "--drive-server-side-across-configs"]
DEBUG : Creating backend with remote "gcrypt_direnc_false:source"
DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : gcrypt_direnc_false: detected overridden config - adding "{Db_Y9}" suffix to name
DEBUG : Creating backend with remote "gdrive:crypt/l8v6tiq52jaekot7q45c9rbq4o"
DEBUG : gdrive: detected overridden config - adding "{Db_Y9}" suffix to name
DEBUG : Google drive root 'crypt/l8v6tiq52jaekot7q45c9rbq4o': 'root_folder_id = 0AIYnsu88uXytUk9PVA' - save this in the config to speed up startup
DEBUG : fs cache: renaming cache item "gdrive:crypt/l8v6tiq52jaekot7q45c9rbq4o" to be canonical "gdrive{Db_Y9}:crypt/l8v6tiq52jaekot7q45c9rbq4o"
DEBUG : Creating backend with remote "gdrive:crypt/source"
DEBUG : gdrive: detected overridden config - adding "{Db_Y9}" suffix to name
DEBUG : Google drive root 'crypt/source': 'root_folder_id = 0AIYnsu88uXytUk9PVA' - save this in the config to speed up startup
DEBUG : fs cache: renaming cache item "gdrive:crypt/source" to be canonical "gdrive{Db_Y9}:crypt/source"
DEBUG : fs cache: renaming cache item "gcrypt_direnc_false:source" to be canonical "gcrypt_direnc_false{Db_Y9}:source"
DEBUG : Creating backend with remote "gcrypt_direnc_true:dest"
DEBUG : gcrypt_direnc_true: detected overridden config - adding "{Db_Y9}" suffix to name
DEBUG : Creating backend with remote "gdrive:crypt/p0tru1aognkok78nfntsibbo9o"
DEBUG : gdrive: detected overridden config - adding "{Db_Y9}" suffix to name
DEBUG : Google drive root 'crypt/p0tru1aognkok78nfntsibbo9o': 'root_folder_id = 0AIYnsu88uXytUk9PVA' - save this in the config to speed up startup
DEBUG : fs cache: renaming cache item "gdrive:crypt/p0tru1aognkok78nfntsibbo9o" to be canonical "gdrive{Db_Y9}:crypt/p0tru1aognkok78nfntsibbo9o"
DEBUG : fs cache: switching user supplied name "gdrive:crypt/p0tru1aognkok78nfntsibbo9o" for canonical name "gdrive{Db_Y9}:crypt/p0tru1aognkok78nfntsibbo9o"
DEBUG : fs cache: renaming cache item "gcrypt_direnc_true:dest" to be canonical "gcrypt_direnc_true{Db_Y9}:dest"
DEBUG : Encrypted drive 'gcrypt_direnc_true{Db_Y9}:dest': Waiting for checks to finish
DEBUG : Encrypted drive 'gcrypt_direnc_true{Db_Y9}:dest': Waiting for transfers to finish
INFO : 01.txt: Moved (server-side)
INFO : test/02.txt: Moved (server-side)
INFO : There was nothing to transfer
INFO :
Transferred: 0 B / 0 B, -, 0 B/s, ETA -
Checks: 2 / 2, 100%
Renamed: 2
Elapsed time: 3.8s
But It doesn't work without flags. --drive-server-side-across-configs Which in the manual says to use only --crypt-server-side-across-configs It should work as well.
looks like the documentation needs to be updated; at least when a crypt remote is wrapped inside a gdrive remote.
when using --crypt-server-side-across-configs, --drive-server-side-across-configs has to be set explicitly
in effect, unless both flags are set to true, the result is false and nothing happens --crypt-server-side-across-configs=true && --drive-server-side-across-configs=false == false
--crypt-server-side-across-configs when moving files between two remotes where
source remote -> directory_name_encryption = false
dest remote -> directory_name_encryption = true
--- does not seem to work with s3, which i think makes sense, as s3 does not support server-side-move
--- does not seem to work with sftp?