summaryrefslogtreecommitdiff
path: root/doc/bugs/case_sensitivity_on_FAT.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-05-29 15:23:05 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-05-29 15:23:05 -0400
commit1f6cfecc972b121fa42ea80383183bbaccc2195a (patch)
tree0a450c4226f5e05c2a3597a9f520376de281fffe /doc/bugs/case_sensitivity_on_FAT.mdwn
parenta95fb731cd117f35a6e0fce90d9eb35d0941e26e (diff)
remove old closed bugs and todo items to speed up wiki updates and reduce size
Remove closed bugs and todos that were least edited before 2014. Command line used: for f in $(grep -l '\[\[done\]\]' *.mdwn); do if [ -z $(git log --since=2014 --pretty=oneline "$f") ]; then git rm $f; git rm -rf $(echo "$f" | sed 's/.mdwn$//'); fi; done
Diffstat (limited to 'doc/bugs/case_sensitivity_on_FAT.mdwn')
-rw-r--r--doc/bugs/case_sensitivity_on_FAT.mdwn49
1 files changed, 0 insertions, 49 deletions
diff --git a/doc/bugs/case_sensitivity_on_FAT.mdwn b/doc/bugs/case_sensitivity_on_FAT.mdwn
deleted file mode 100644
index 682acc71d..000000000
--- a/doc/bugs/case_sensitivity_on_FAT.mdwn
+++ /dev/null
@@ -1,49 +0,0 @@
-I was copying files to a directory remote with `git annex copy`. Out of 114 files, 9 of them failed with no message, just:
-
- copy data/foo.dat (to usbdrive...) failed
- copy data/bar.dat (to usbdrive...) failed
-
-According to strace:
-
- 31338 mkdir("/media/annex/Zp/9v/SHA256-s1362999320--d650297c8cf8c2dc0575110a52d0c5cc0ff266f294a0599f85796a6b44b23492", 0777) = -1 ENOENT (No such file or directory)
- 31338 mkdir("/media/annex/Zp/9v", 0777) = -1 ENOENT (No such file or directory)
- 31338 mkdir("/media/annex/Zp", 0777) = -1 EEXIST (File exists)
- 31338 stat("/media/annex/Zp", 0x7f8449f170d0) = -1 ENOENT (No such file or directory)
-
-The filesystem is FAT32 and has weird case semantics. This was mounted by udisks with its default options:
-
- /dev/sdb1 on /media/annex type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec)
-
-I wonder if the directory remote should use hashDirLower instead of hashDirMixed?
-
-> git-annex intentionally uses the same layout for directory and rsync
-> special remotes as it does for the .git/annex directory. As far
-> as I know it works ok on (truely) case-insensative filesystems.
->
-> Based on your strace, if you `ls /media/annex/Zp`, you will see
-> "No such file or directory", but if you `mkdir /media/annex/Zp` it will
-> fail with "File exists". Doesn't make much sense to me.
->
-> The (default) VFAT mount option shortname=mixed causes this behavior.
-> With shortname=lower it works ok. --[[Joey]]
->
->> So, the options for fixing this bug seem to be to fix Linux (which would
->> be a good idea IMHO but I don't really want to go there), or generally
->> convert git-annex to using lowercase for its hashing (which would be a
->> large amount of pain to rewrite all the symlinks in every git repo),
->> or some special hack around this problem.
->>
->> I've put in a workaround for the problem in the directory special
->> remote; it will use mixed case but fall-back to lowercase as necessary.
->>
->> That does leave the case of a bare git repository with annexed content
->> stored on VFAT. More special casing could fix it, but that is, I
->> think, an unusual configuration. Leaving the bug open for that case,
->> and for the even more unlikely configuration of a rsync special remote
->> stored on VFAT. --[[Joey]]
-
->>> Bare repositories now use lowercase. rsync is the only remaining
->>> unsupported possibility. --[[Joey]]
->>>> Everything now uses lowercase, with the exception of non-bare
->>>> repos, which cannot be on FAT anyway due to using symlinks. [[done]]
->>>> --[[Joey]]