[[!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 certainly should avoid the problem, even if there's some actual bug here that I cannot reproduce.
"""]]
