From cd430c53e421a8945f31c9adeaefa15e507117a7 Mon Sep 17 00:00:00 2001 From: "http://joeyh.name/" Date: Thu, 4 Apr 2013 19:47:50 +0000 Subject: [PATCH] Added a comment --- ..._c2a2f801a3e18ad597ff0acf2f104557._comment | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment 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 0000000000..8ab32ede26 --- /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! +"""]]