[darcs-users] P2P repository

Jamie Webb j at jmawebb.cjb.net
Fri Nov 25 15:54:30 UTC 2005


On Fri, Nov 25, 2005 at 11:46:01AM -0300, Thiago Arrais wrote:
> On a nutshell: how about using a peer-to-peer network as a darcs repo?

Something like this design (every user keeps their own repo an a web
server, and everyone pulls from everyone else) is I think pretty much
what David originally envisaged. I'm not sure there's a great deal to
gain by additionally automating the pulls.

> The idea is simple. Instead of having one central repository, we would
> have a number of interconnected machines (some would call it a
> cluster), i.e. developer machines that are interested on having access
> to the repo. Changes made (patches recorded) to one machine would get
> distributed to the others using a peer-to-peer network.

You can probably achieve this at the moment using a record post-hook
which pushes to every developer.

> That way recording changes
> would be a local operation and would of course be faster than the
> network operation needed for centralized systems as CVS.

But the network operation would still be necessary. Just asynchronous.
It's no faster than 'darcs push -a &'.

> Of course there are the usual issues
> with conflict resolving.

That's one reason why automatic distribution might be a bad idea.

> I think this would avoid much the traffic on the server (in fact,
> there would be no server)

Mmm, but a) Is anyone really finding that Darcs puts a strain on their
servers? and b) Each client would have to push patches to every other
client, so the bandwidth available to each client becomes much more
significant (Darcs over BitTorrent anyone? :-). I can only see a
benefit if you know all users are on ADSL and there is no possibility
of a better-connected server. Any other configuration (some modem
users, a LAN, etc.) seems to favour the centralised setup.

Incidentally, presumably most projects that can't manage to have a
well-connected server are open source? If David's conflictor code
makes hanging sufficiently rare, and Adam's HTTP push patch goes
ahead, it will look a lot more feasible for a company to set up a
SourceForge-type site offering Darcs hosting, which might better solve
your problem. I can look into it over here if there are people
interested.

-- Jamie Webb




More information about the darcs-users mailing list