Issue 2465 detect failing ssh connexions right away

Title detect failing ssh connexions right away
Priority Status unknown
Milestone Resolved in
Superseder Nosy List gh
Assigned To
Topics SSH

Created on 2015-07-15.20:41:59 by gh, last changed 2015-07-15.20:43:18 by gh.

msg18694 (view) Author: gh Date: 2015-07-15.20:41:57
Using Darcs 2.10.1, I have a modest repository (~30 patches, 5 small
files). I'm working on my machine and pulling from hub.darcs.net (via ssh).

What happens is I can see the metadata of the first patch but prompt
takes ages to appear. Same happens with "pull --no-cache", and after
"darcs optimize clean".

The source of the issue is that in `_darcs/prefs/repo`, I have a second
source which is a ssh URL via patch-tag (which no longer exists).

Running again with --debug, I have:

$ darcs pull --no-cache  --debug
Beginning identifying repository .
[...] # lots of OK ssh stuff to hub.darcs.net
They have the following patches to pull:
[...] # lists 3 remote patches I don't have locally
I'm doing copyFileUsingCache on patches/00000xxxxxxxxxxx..."
Will effectively do copyFileUsingCache to: "/home/xxxxx.."
Copying from "gh@patch-tag.com:..."
copySSH file: gh@patch-tag.com:.../_darcs/patches/....
Disabling progress reports...
ssh gh@patch-tag.com darcs transfer-mode --repodir /r/gh/purememo/
Failed to start ssh connection:
    fd:13: hGetLine: end of file
Severing ssh failed connection to gh@patch-tag.com
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.

And it waits.

So there are two problems:

#1) it does not detect ssh connection failure right away, and instead waits

#2) let's assume the 2nd ssh connexion works; there should be a
heuristic that says that to grab patches, you should reuse the
*existing* ssh connexion. On the UI level I find it weird that darcs is
able to know which patches are missing, but is unable to grab them...

This ticket is for #1.
msg18695 (view) Author: gh Date: 2015-07-15.20:43:17
The problem is because I have the patch-tag URL in _darcs/prefs/sources,
Date User Action Args
2015-07-15 20:41:59ghcreate
2015-07-15 20:43:18ghsetmessages: + msg18695