Package: git-annex
Version: 3.20121211
Severity: normal
As described in #696313 I am trying to use a annex on a VFAT USB drive.
A small number of files in the annex cannot be copied to VFAT because the path
contains a "\" (which is invalid in a FAT filesystem).
$ git annex copy --to=usbdrive 'Ministry - Rio Grande Blood/03-Gangreen (w\
Sgt. Major).ogg'
copy Ministry - Rio Grande Blood/03-Gangreen (w\ Sgt. Major).ogg (to
usbdrive...)
SHA256E-s4796874--\a91e4e04f60b9afe41224e32e87d07de6a09c92f85891d2cccaadbfc33b8bf31.ogg
32768 0% 0.00kB/s 0:00:00 rsync: open
"/media/IanCampbell/music.annex/annex/tmp/SHA256E-s4796874--\a91e4e04f60b9afe41224e32e87d07de6a09c92f85891d2cccaadbfc33b8bf31.ogg"
failed: Invalid argument (22)
4796874 100% 100.96MB/s 0:00:00 (xfer#1, to-check=0/1)
rsync error: some files/attrs were not transferred (see previous errors) (code
23) at main.c(1070) [sender=3.0.9]
sent 4797609 bytes received 31 bytes 9595280.00 bytes/sec
total size is 4796874 speedup is 1.00
failed
git-annex: copy: 1 failed
I expect this is because sha256sum quotes the checksum if the filename contains
certain characters:
$ sha256sum 'Ministry - Rio Grande Blood/03-Gangreen (w\ Sgt. Major).ogg'
\a91e4e04f60b9afe41224e32e87d07de6a09c92f85891d2cccaadbfc33b8bf31 Ministry -
Rio Grande Blood/03-Gangreen (w\\ Sgt. Major).ogg
This isn't mentioned in the sha256sum info page but it is mentioned in the
md5sum page, both utilities are compiled from the same md5sum.c source file in
coreutils. The info page says:
For each FILE, `md5sum' outputs the MD5 checksum, a flag indicating
a binary or text input file, and the file name. If FILE contains a
backslash or newline, the line is started with a backslash, and each
problematic character in the file name is escaped with a backslash,
making the output unambiguous even in the presence of arbitrary file
names. If FILE is omitted or specified as `-', standard input is read.
A "git annex copy --to usbdrive --auto" fails for 102 files, I can find 100
with a \ in the filename.
The other two have files ending in '.?.ogg' and '.".ogg' which g-a appears to
treat as part of the extension for SHA256E purposes:
$ git annex copy --to=usbdrive 'Hermano - Dare I Say/05-Is This O.K.?.ogg'
copy Hermano - Dare I Say/05-Is This O.K.?.ogg (to usbdrive...)
SHA256E-s4220373--354e439a9212268e21b36843ed48f835183472636932eef042739e4755476d59.?.ogg
32768 0% 0.00kB/s 0:00:00 rsync: open
"/media/IanCampbell/music.annex/annex/tmp/SHA256E-s4220373--354e439a9212268e21b36843ed48f835183472636932eef042739e4755476d59.?.ogg"
failed: Invalid argument (22)
4220373 100% 153.60MB/s 0:00:00 (xfer#1, to-check=0/1)
rsync error: some files/attrs were not transferred (see previous errors) (code
23) at main.c(1070) [sender=3.0.9]
sent 4221037 bytes received 31 bytes 2814045.33 bytes/sec
total size is 4220373 speedup is 1.00
failed
git-annex: copy: 1 failed
$ git annex copy --to=usbdrive 'Queens Of The Stone Age - Lullabies To
Paralyze/13-"You Got A Killer Scene There, Man...".ogg'
copy Queens Of The Stone Age - Lullabies To Paralyze/13-"You Got A Killer Scene
There, Man...".ogg (to usbdrive...)
SHA256E-s4162784--d78e3b998894e8408a299a649a5718fea097a1969da012499a8df6219686ecff.".ogg
32768 0% 0.00kB/s 0:00:00 rsync: open
"/media/IanCampbell/music.annex/annex/tmp/SHA256E-s4162784--d78e3b998894e8408a299a649a5718fea097a1969da012499a8df6219686ecff.".ogg"
failed: Invalid argument (22)
4162784 100% 115.84MB/s 0:00:00 (xfer#1, to-check=0/1)
rsync error: some files/attrs were not transferred (see previous errors) (code
23) at main.c(1070) [sender=3.0.9]
sent 4163444 bytes received 31 bytes 8326950.00 bytes/sec
total size is 4162784 speedup is 1.00
failed
git-annex: copy: 1 failed
Does g-a treat suffixes from the second last "." on purpose? I should probably
be using the SHA256 (no E) backend anyway.
Before I used git-annex I used a home grown script to convert my .flac files to
.ogg on my FAT device. That script ended up substituting everything in
":/\\?*\"\|" for something safe.
I munged my filenames to avoid all of these.
Ian.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'unstable'),
(500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages git-annex depends on:
ii curl 7.26.0-1
ii git 1:1.7.10.4-1+wheezy1
ii libc6 2.13-37
ii libffi5 3.0.10-3
ii libgmp10 2:5.0.5+dfsg-2
ii libgnutls26 2.12.20-2
ii libgsasl7 1.8.0-2
ii libidn11 1.25-2
ii libpcre3 1:8.30-5
ii libxml2 2.8.0+dfsg1-7
ii libyaml-0-2 0.1.4-2
ii openssh-client 1:6.0p1-3
ii rsync 3.0.9-4
ii uuid 1.6.2-1.3
ii wget 1.13.4-3
ii zlib1g 1:1.2.7.dfsg-13
Versions of packages git-annex recommends:
ii bind9-host 1:9.8.1.dfsg.P1-4.4
ii gnupg 1.4.12-6
ii lsof 4.86+dfsg-1
Versions of packages git-annex suggests:
pn bup <none>
pn graphviz <none>
ii libnss-mdns 0.10-3.2
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]