[darcs-users] peer to peer darcs

S. Alexander Jacobson alex at alexjacobson.com
Fri Jul 30 19:12:09 UTC 2004

On Fri, 30 Jul 2004, David Roundy wrote:
> The order in which patches are received wouldn't be a problem unless they
> get a patch bundle before they have its context, but I don't think this
> could happen (it depends on your list server), since it would require that
> someone else recieve the "first" patch, then send the "second" patch, and
> that I then receive the "second" patch before the "first" patch.  i.e. it
> can't be a problem if the two patches are sent simultaneously (in the sense
> that they are both sent before either sender receives the other one.

I was hoping for pure peer to peer and to avoid
installing a list server (or any other "reliable"
centralized infrastructure).  In the absence of a
listserver, the distribution list is kept in the
repos and every participant is reponsible for
mailing patches to everyone else directly.  As a
result, it is completely reasonable to expect that
different people would recieve patches in
different orders.

This architecture struck me as viable because I
interpreted the "theory of patches" to mean that
darcs could cope with patches arriving in
different orders:

  "Secondly, sequential patches (i.e. patches that
  are created in sequence, one after the other)
  can be reordered, although this reordering can
  fail, which means the second patch is dependent
  on the first. Thirdly, patches which are in
  parallel (i.e. both patches were created by
  modifying identical trees) can be merged, and
  the result of a set of merges is independent of
  the order in which the merges are performed."

> There is, of course, some question of how you'd bootstrap new developers...

You add them to the distribution list file, mail
them the full repos, and bounce to them all
patches whose context does not include the dist.
list change.

> The easy (and probably best) way to do this would be to have each person
> have two repositories, a mirror of a virtual "central" repository, and
> their own working repository.  They would never make changes by hand to the
> "central" repository, but instead would send changes to the list and have
> those changes automatically applied to their "central" repository.

Yes, that totally makes sense.  It just means that
they have to have storage for 2 copies of the
repos (though there is probably a way of solving
this one).


S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com

More information about the darcs-users mailing list