If the ssh key of the server or client machine has changed, any ssh
connection will fail, with a message like (if server key changes):
----8<----
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
----8<----
or (client key change):
----8<----
Permission denied (publickey).
----8<----
The problem is that darcs does not let the user know about this, it just
tries to get the remote _darcs/format (and fails), then the remote
_darcs/inventory (and fails). The user sees this:
----8<----
darcs get user@server:/srv/code/gtk2hs --debug
Starting work on get...
Disabling progress reports...
ssh user@server darcs transfer-mode --repodir /srv/code/gtk2hs/
Failed to start ssh connection:
fd:9: hGetLine: end of file
Severing ssh failed connection to
user@server:/srv/code/gtk2hs/_darcs/prefs/motd
NOTE: the server may be running a version of darcs prior to 2.0.0.
Installing darcs 2 on the server will speed up ssh-based commands.
Disabling progress reports...
scp -q user@server:/srv/code/gtk2hs/_darcs/prefs/motd ./darcs1936 ; #
AsIs AsIs AsIs
Leaving progress reports off.
(scp) failed to fetch: user@server:/srv/code/gtk2hs/_darcs/prefs/motd
Beginning identifying repository user@server:/srv/code/gtk2hs
Disabling progress reports...
Disabling progress reports...
scp -q user@server:/srv/code/gtk2hs/_darcs/format ./darcs1936 ; # AsIs
AsIs AsIs
Leaving progress reports off.
(scp) failed to fetch: user@server:/srv/code/gtk2hs/_darcs/format
Disabling progress reports...
Disabling progress reports...
scp -q user@server:/srv/code/gtk2hs/_darcs/inventory ./darcs1936 ; #
AsIs AsIs AsIs
Leaving progress reports off.
(scp) failed to fetch: user@server:/srv/code/gtk2hs/_darcs/inventory
Done identifying repository user@server:/srv/code/gtk2hs
darcs failed: Not a repository: user@server:/srv/code/gtk2hs ((scp)
failed to fetch: user@server:/srv/code/gtk2hs/_darcs/inventory)
andy@andy:/test/Download$
----8<----
Darcs should instead stop as soon as it "Failed to start ssh connection".
|