On Fri, Jan 25, 2008 at 11:37:12PM +0100, Alexander Staubo wrote:
> Not to hijack the thread, but a while back I suggested to Eric that it
> might be simpler to bypass the whole control master shebang, and
> implement a Darcs server mode. After all, all Darcs is doing is
> reading and writing remote files -- why invoke an entire process [1]
> for every file, and incur so much process and connection overhead?
> 
> A better solution is to do something like "ssh remoteserver darcs
> server", to which Darcs then can issue read and write commands in a
> simple text-based protocol. This protocol in turn could easily be
> pipelined for added performance.
> 
> Such a server mode would (1) sidestep the need for flaky control
> master connections, (2) would eliminate the need to rely on scp and
> sftp (and the need, on Windows, to set up the Putty semi-equivalents),
> and (3) would perform and function equally well on Windows. And (4) it
> should perform great.
> 
> I wish I could volunteer to implement something like this, if only to
> prove that it would be an improvement. Alas, my Haskell skillz are
> near zero.

Yes, that would be nice.  It *would* add a requirement for darcs to be
present on the server (not a huge requirement, and we could always fall
back on scp).  And most folks who get and pull over ssh will also be
pushing over ssh, which already requires darcs be present on the server.

It also would require that we develop an entire ftp protocol including
transmition of errors.  I think this would definitely be harder than
learning haskell.  Which isn't to say it's not a reasonable problem to
tackle, but rather that your lack of Haskell knowledge isn't an excuse!

One might also wonder why we don't use the existing sftp program, which
itself implements quite a similar protocol to what you're proposing.  In
fact, we do so, but haven't wanted to deal with the headache of maintaining
the connection, so we only do so during darcs get (when we know in advance
an entire list of files we'd like to grab).  And this itself turns out to
be somewhat fragile, as not all sftp servers are identical (and of course,
putty never names any of its commands in a standard manner).
-- 
David Roundy
Department of Physics
Oregon State University
_______________________________________________
darcs-devel mailing list
darcs-devel@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to