aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/cannot___40__or_how__63____41___to_pass_socket_path_with_a_space_in_its_path_via_annex-ssh-options.mdwn
blob: cc0eed824bf50d2f12a729aa3a962aa078c0a3b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
### Please describe the problem.

git annex specifies its own socket path via -S.  To overload with our socket path (to be reused by annex and other ssh invocations) we need to provide the path via annex-ssh-options option.  And we cannot pass it as an overload -o ControlPath since -S specification provided by annex "overrides" it.
The difficulty comes in possibly not quite common but still possible case when path to the socket contains a space.  I have tried all kinds of possible specifications but failed to find one which works... 

Could you give me a hint!? ;)

### What version of git-annex are you using? On what operating system?

6.20170307+gitg24ade8a25-1~ndall+1

### Please provide any additional information below.

[[!format sh """
# so -- ssh works
$> ssh -O check -oControlMaster=auto -S"/tmp/te st/socket" 'yohtest@smaug'
Master running (pid=20336)
# but can't get annex to use it:

$> git annex init -c 'remote.origin.annex-ssh-options=-oControlMaster=auto -S"/tmp/te st/socket"' 
init  ssh: Could not resolve hostname st/socket": Name or service not known   
yohtest@smaug's password: 

$> git annex init -c 'remote.origin.annex-ssh-options=-oControlMaster=auto "-S\"/tmp/te st/socket\""' 
init  ssh: Could not resolve hostname "-s\\"/tmp/te: Name or service not known
yohtest@smaug's password: 

# etc
"""]]

[[!meta author=yoh]]