summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar http://joey.kitenet.net/ <joey@web>2011-03-31 19:08:01 +0000
committerGravatar admin <admin@branchable.com>2011-03-31 19:08:01 +0000
commit0455076c7e095a7b082375d1b0696164ddd455c5 (patch)
treec53657d1051900fd89b7e0169ff61579f870652e
parentf6a29c79cae19b77412b188886f3be27b001d855 (diff)
Added a comment
-rw-r--r--doc/bugs/git-annex_directory_hashing_problems_on_osx/comment_7_0f4f471102e394ebb01da40e4d0fd9f6._comment68
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/bugs/git-annex_directory_hashing_problems_on_osx/comment_7_0f4f471102e394ebb01da40e4d0fd9f6._comment b/doc/bugs/git-annex_directory_hashing_problems_on_osx/comment_7_0f4f471102e394ebb01da40e4d0fd9f6._comment
new file mode 100644
index 000000000..c3aee6c57
--- /dev/null
+++ b/doc/bugs/git-annex_directory_hashing_problems_on_osx/comment_7_0f4f471102e394ebb01da40e4d0fd9f6._comment
@@ -0,0 +1,68 @@
+[[!comment format=mdwn
+ username="http://joey.kitenet.net/"
+ nickname="joey"
+ subject="comment 7"
+ date="2011-03-31T19:08:01Z"
+ content="""
+git 1.7.4 does not make things better. With it, if I add first \"X/foo\" and then \"x/bar\", it commits \"X/bar\".
+
+That will *certianly* cause problems when interoperating with a repo clone on a case-sensative filesystem, since
+git-annex there will not see the location log that git committed to the wrong case directory.
+
+It's possible there is some interoperability problem when pulling from linux like you did, onto HFS+, too. I am not quite sure. Ah, I did find one.. if I clone the repo with \"X/foo\" in it to a case-sensative filesystem, and add a \"x/foo\" there,
+and pull that commit back to HFS+, git says:
+
+<pre>
+ * branch master -> FETCH_HEAD
+Updating 8754149..e3d4640
+Fast-forward
+ x/foo | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 x/foo
+joey@gnu:/mnt/r4>ls
+X/
+joey@gnu:/mnt/r4>git st
+# On branch master
+# Changes not staged for commit:
+# (use \"git add <file>...\" to update what will be committed)
+# (use \"git checkout -- <file>...\" to discard changes in working directory
+
+# modified: X/foo
+</pre>
+
+Aha -- that lets me reproduce your problem with the same file being staged twice with different capitalizations, too:
+
+<pre>
+joey@gnu:/mnt/r4>echo haaai >| x/foo
+joey@gnu:/mnt/r4>git st
+# On branch master
+# Changes not staged for commit:
+# (use \"git add <file>...\" to update what will be committed)
+# (use \"git checkout -- <file>...\" to discard changes in working directory)
+#
+# modified: X/bar
+# modified: X/foo
+# modified: x/foo
+#
+joey@gnu:/mnt/r4>git commit -a
+fatal: Will not add file alias 'X/Bar' ('x/Bar' already exists in index)
+</pre>
+
+And modified files that git refuses to commit, which entirely explains [[git-annex_has_issues_with_git_when_staging__47__commiting_logs]].
+
+<pre>
+joey@gnu:/mnt/r4>git add X/foo
+joey@gnu:/mnt/r4>git commit X/foo
+# On branch master
+# Changes not staged for commit:
+# (use \"git add <file>...\" to update what will be committed)
+# (use \"git checkout -- <file>...\" to discard changes in working directory)
+#
+# modified: X/bar
+# modified: X/foo
+#
+no changes added to commit (use \"git add\" and/or \"git commit -a\")
+</pre>
+
+I think git is frankly, buggy. It seems I will need to work around this by stopping using mixed case hashing for location logs.
+"""]]