Issue 2464 cache system shoud use existing ssh connexion first

Title cache system shoud use existing ssh connexion first
Priority Status unknown
Milestone Resolved in
Superseder Nosy List gh
Assigned To
Topics Hashed, SSH

Created on 2015-07-15.20:41:01 by gh, last changed 2015-07-15.20:43:27 by gh.

msg18693 (view) Author: gh Date: 2015-07-15.20:40: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...

SO this should be 2 bug tickets in fact. I think #2 is most important,
and should be this bug ticket.  I'm going to open another ticket for #1.
msg18696 (view) Author: gh Date: 2015-07-15.20:43:26
The problem is because I have the patch-tag URL in _darcs/prefs/sources,
Date User Action Args
2015-07-15 20:41:01ghcreate
2015-07-15 20:43:27ghsetmessages: + msg18696