summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar http://joeyh.name/ <http://joeyh.name/@web>2013-07-27 20:46:02 +0000
committerGravatar admin <admin@branchable.com>2013-07-27 20:46:02 +0000
commit2ef417c9ff716090aee5718c55dcd245b41ceb6f (patch)
tree5dc1252dc5a2a3b69f0e08496e8d683aaf700bd9 /doc
parent484abe50b2f72013a3ccf831ef3167733e7b9650 (diff)
Added a comment
Diffstat (limited to 'doc')
-rw-r--r--doc/bugs/utf8/comment_13_7044d2c5bb1c91ee37eb9868963a1ff2._comment41
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/bugs/utf8/comment_13_7044d2c5bb1c91ee37eb9868963a1ff2._comment b/doc/bugs/utf8/comment_13_7044d2c5bb1c91ee37eb9868963a1ff2._comment
new file mode 100644
index 000000000..fce51ac32
--- /dev/null
+++ b/doc/bugs/utf8/comment_13_7044d2c5bb1c91ee37eb9868963a1ff2._comment
@@ -0,0 +1,41 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="4.152.246.110"
+ subject="comment 13"
+ date="2013-07-27T20:46:01Z"
+ content="""
+I've verified that the (old) code correctly returned no path when it's too long:
+
+<pre>
+*Annex.Ssh System.Directory System.Posix.Directory Annex Git.Construct Git.Config System.Posix.Env Utility.Env> eval (newState r') $ changeGitConfig (\c -> c { annexCrippledFileSystem = True }) >> sshInfo (\"fozz@git-annex-markdown.lang.speechmarks.com-fozz_phone.2Dannex.IdWwlXHtSsjVUMcq\", Nothing)
+(Nothing,[])
+</pre>
+
+In case the problem was somehow related to calculating the length on Android (ie, Data.Bits.Utils broken), I built a small program that calculated the length of the string the same way
+
+[[!format haskell \"\"\"
+import Utility.FileSystemEncoding
+
+main = do
+ let s = \"/data/data/ga.androidterm/tmp/fozz@git-annex-markdown.lang.speechmarks.com-fozz_phone.2Dannex.IdWwlXHtSsjVUMcq\"
+ let ws = decodeW8 s
+ print (length ws)
+\"\"\"]]
+
+Outputs 110 on Android as expected.
+
+Finally, using git-annex 4.20130721-g002de3e on Android (a newer version than the bug reporter's but with no changes to Annex.Ssh), I manually set up a repository using the same hostname:
+
+<pre>
+[remote \"foo\"]
+ url = ssh://fozz@git-annex-markdown.lang.speechmarks.com-fozz_phone.2Dannex.IdWwlXHtSsjVUMcq
+ fetch = +refs/heads/*:refs/remotes/foo/*
+ annex-uuid = dummy
+</pre>
+
+And still cannot replicate the bug; as expected it does not use the socket since it's too long:
+
+copy foo (checking foo...) [2013-07-27 16:40:42 EDT] call: ssh [\"-T\",\"fozz@git-annex-markdown.lang.speechmarks.com-fozz_phone.2Dannex.IdWwlXHtSsjVUMcq\",\"git-annex-shell 'inannex' '' 'SHA256E-s29--093429efb0d1427753d1f038f5279ec4df66785a1b2429b3fa5e3a01bcb75bd8' --uuid 111\"]
+
+So, I don't understand how this could have happened. Although my recent changes mean it'll use a 62 byte path max on Android now, which certianly should avoid the problem, even if there's some actual bug here that I cannot reproduce.
+"""]]