Please describe the problem.

Using a rsync remote with hybrid encryption, I encounter the following problem.

$ git annex get 30.zip                                                                                                                                                                                                                                                      
get 30.zip (from to...) 
rsync: [sender] change_dir "/home/user/drive/Annex/t/eec/656/'GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1835) [Receiver=3.2.4]
rsync: [Receiver] write error: Broken pipe (32)
rsync exited 23
rsync: [sender] change_dir "/home/user/drive/Annex/t/Vk/Zj/'GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1835) [Receiver=3.2.4]
rsync: [Receiver] write error: Broken pipe (32)
rsync exited 23

Note the extra single quote inserted in the filepath in front of the GPGHMACSHA1... folder name. I have verified that the file exists on the remote drive.

What version of git-annex are you using? On what operating system?

git-annex-8.20211123-3.fc36.x86_64

Have you had any luck using git-annex before?

I have used git annex with great success for better part of the decade. Thank you for all your hard work!

Extra debugging

To figure out if it was really just the mangled path, I have added a symlink to pretend the variant of the folder name with the leading quote exists:

lrwxrwxrwx. 1 user user   53 May 31 20:31 "'GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d" -> GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d
drwxrwxr-x. 2 user user 4096 Jul 19  2020  GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d

Now the git annex get fails with

rsync: [sender] link_stat "/home/user/drive/Annex/t/eec/656/'GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d/GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d'" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1835) [Receiver=3.2.4]
rsync: [Receiver] write error: Broken pipe (32)

Note that we were able to chdir into the folder now, but the file itself is not being found. This time we do not have a leading quote, but a trailing one. Adding another symlink, this time for the file:

-rw-rw-r--. 1 user user 157865953 Jul 19  2020  GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d
lrwxrwxrwx. 1 user user        53 May 31 20:42 "GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d'" -> GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d

Makes this particular error go away, only to fail with

../../../.git/annex/tmp/GPGHMACSHA1--addf78b2c59182e951d16ce90e03900cfe15dc7d: openBinaryFile: does not exist (No such file or directory)

This is likely because the file has been downloaded into tmp directory with the trailing quote. To summarize, it seems that file and its parent folder in the rsync remote directory tree are being wrapped by single quotes, resulting into a file lookup failure.

fixed --Joey