The name of the remote darcs executable specified in the RemoteDarcs flag is only
used for darcs push, not for darcs transfer-mode. It turns out that passing the
network-related flags (in this case, RemoteDarcs), to all functions which might use
SSH affects many modules, especially HashedIO.readroot via speculateFileUsingCache ->
copyFileUsingCache -> copyFileOrUrl -> copySSH.
As far as I understand this issue, there are two ways to resolve this: Either the
HashedIO monad provides the network flags, or some kind of global variable (e.g.,
configuration file) is read before executing SSH.
|