diff options
author | 2013-04-04 16:42:15 -0400 | |
---|---|---|
committer | 2013-04-04 16:42:15 -0400 | |
commit | 697a549126d881c49c2be81496988424807168a8 (patch) | |
tree | f1335776eeb959b24c0f102a0c2240addfb533a3 /doc | |
parent | e3ff36ec1373c65912667b8fa0e57b8a704f7d1f (diff) | |
parent | 19f2c23abc2f1ff5ada78b9a29d0023e2d48baf6 (diff) |
Merge branch 'master' of ssh://git-annex.branchable.com
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment b/doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment new file mode 100644 index 000000000..8ab32ede2 --- /dev/null +++ b/doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment @@ -0,0 +1,22 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + nickname="joey" + subject="comment 2" + date="2013-04-04T19:47:50Z" + content=""" +Whups, this bug report was closed; I almost missed this new bug and test case. + +So, on these filesystems that are horribly confused about case, it's possible for `mkdir FOO` to fail with \"already exists\", because there is a directory named `foo` ... but then `mkdir FOO/bar` fails with \"no such file or directory\". + +That is an intractable problem. It follows that it's simply not safe to use mixed case files on such a filesystem. You will always shoot your later self in the foot. (I personally think it's outright foolish to use a filesystem with such horrible semantics at all, but whatever.) + +So.. I took a good look at this, and it turns out that + +* since this is a crippled filesystem anyway, git-annex doesn't use symlinks on it +* so there's no reason to use the mixed case hash directories that we're stuck using to avoid breaking everyone's symlinks to the content +* so we can do what is already done for all bare repos, and make non-bare repos on crippled filesystems use the all-lower case hash directories +* which are, happily, all 3 letters long, so they cannot conflict with mixed case hash directories +* so I was able to 100% fix this and even resuming `git annex add` in the test case will recover and it will all just work. + +Yay! +"""]] |