[darcs-devel] darcs and ssh issues

David Roundy droundy at darcs.net
Sun Dec 10 15:14:28 PST 2006


On Sun, Dec 10, 2006 at 10:58:06PM +0100, Tommy Pettersson wrote:
> So my (best) idea (so far) is to couple the entire remote
> machinery to the Repository data structure. Wouldn't that make
> good sense for a union-Pull from multiple external repos? I
> imagine, when a repo is identified, the correct set of tools for
> accessing it (if it's remote) are determined, perhaps not right
> away, but dormant in unsafePerformeIO, since the result should
> be independent of darcs' IO-ing anyway. The Repository data
> structure contains all needed information (I think), at least
> for calling tempdir_loc withCurrentDirectory(<repo root>).

That does.  identifyRepository would be perfect for this, and I don't see
how we'd need any ugliness (e.g. unsafePerformeIO) at all!  :) And, in
fact, identifyRepository is precisely the right time to verify whatever we
need to know we can actually access it!

> The not so god thing with such solution is it would not let
> itself go directly to stable. It would be tiresome to merge it
> with the Repository module changes in unstable. (Hey, we
> darcsers are not used to do big manual merges, and damn proud of
> it!)

Hmmmm.  Sorry about that! (but it'll make the change easier in
darcs-unstable, at least... since identifyRepository will be used more
uniformly.)

> Quick fixes for the stable release includes:
> 
>   1. Not allowing darcs to run without a proper temp dir (telling the
>      user how to set up one).
>   2. Have darcs sometimes fail mysteriously in mid-operation, telling
>      the user to set up a temp dir.
>   3. Let tempdir_loc silently remove _darcs/* suffixes from the
>      current path, and according to Murphy's Law fail with "Bug in
>      tempdir_loc: impossible".
> 
> Number 3 could have the bonus of adhering to the user's setting
> in _darcs/prefs/tmpdir when possible.
>
> I think defying Murphy is the simplest and best solution for
> darcs 1.0.9.

3 sounds good to me.
-- 
David Roundy
Department of Physics
Oregon State University




More information about the darcs-devel mailing list