summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-04-04 16:42:15 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-04-04 16:42:15 -0400
commit697a549126d881c49c2be81496988424807168a8 (patch)
treef1335776eeb959b24c0f102a0c2240addfb533a3
parente3ff36ec1373c65912667b8fa0e57b8a704f7d1f (diff)
parent19f2c23abc2f1ff5ada78b9a29d0023e2d48baf6 (diff)
Merge branch 'master' of ssh://git-annex.branchable.com
-rw-r--r--doc/bugs/git-annex_on_crippled_filesystem_can_still_failed_due_to_case_/comment_2_c2a2f801a3e18ad597ff0acf2f104557._comment22
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!
+"""]]