Re: darcs hub future

Benjamin Franksen <[email protected]> Mon, 3 Dec 2018 15:48:42 +0100
Newsgroups gmane.comp.version-control.darcs.user
Message-ID <[email protected]>
Am 07.11.18 um 00:02 schrieb Steven Shaw:
> Hi Simon and others, I recently came across Pijul <https://pijul.org/>
> which seems to be the intellectual successor to Darcs rewritten in Rust.
> There is Pijul hosting called Nest <https://nest.pijul.com/>, similar to
> Darcs Hub. I was never a big Darcs user but was interested in the "theory
> of patches". From what I can gather, Pijul has implemented this
> mathematical theory with good algorithmic complexity. It's written in Rust
> which might make it less appealing to previous Darcs users. I was wondering
> what folks thought of it?

There is not much to be found about the theory of Pijul, except the
original paper that inspired its development. (Not that the situation is
much better for Darcs' theory.) Anyway, from what I gathered from that
paper and the bits accessible from their home page, Pijul's theory is
quite different from that of Darcs (although there are certain
overlaps). Its approach to conflicts is, in a certain sense, dual to
Darcs: while in Darcs a conflict is represented as a special sort of
patch (Merger/Conflictor), in Pijul the conflict is represented as a
special sort of "tree"; more correctly, they represent the content
(state) of a repo not as a tree but as a (possibly cyclic) directed
graph, thus allowing multiple conflicting versions of the tree state to
coexist.

The fact that Pijul is written in Rust certainly makes it a lot harder
to understand it by reading the code. Last time I looked I found it very
low-level, using mutation all over the place, and mostly missing any
form of abstraction.

Regarding algorithmic efficiency, this is indeed a problem with Darcs'
current implementation, in particular its existing Merger/Conflictor
representations. However, a better representation exists and has been
implemented, it is just not fully integrated yet. There are some pretty
fundamental design choices that we are currently discussing, most
importantly whether merging should be "by value" or "by name".

Cheers
Ben

_______________________________________________
darcs-users mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/darcs-users
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEENrMHocwj35njgs+mnnTm9+eykAUFAlwFQksACgkQnnTm9+ey
kAW8sBAAwgI/cVPNmq6yXKUW554nuIlZKpl/VEbx54jj+dEHbl7dENbzr/stzFpv
oVwgqyV18afp58OTlYOBRZe8IQIqnhFneq7ys670e81galxcIR8URtEuefHfU6se
JQvGhnFfhp7+vQfk3mh3k59H6hRt/yTEAi7sAi4WL09Spmygs5JEEFpyOQDYeZoL
sDGnbxBR70f0de65dTcXWkQJk+b+iw526zewJOdL+uGHFHNv2yoZ+7FvoOLOrWEy
H8NfTAVN7PP9BtgSLBEMZ0ZDa78JWKjcRgydmC6AzCXgjj+8DlnL/251i1m1aHhM
1yluACzXTXVyS15zB30r6QCwQ4mYHIs0gcfXJhix990fi6IVkcNaLYWZVGmw3pCF
eXpYPTXcMz6EBuD5gRKd5+X7r5y1eDKob2Uc3NXormTHt8QCq7PyPdwjzv0EO1ue
QVHiH7/EWabHxvVptkUpVClPn+3IHue5j5bDeeIqDUY3DFBWZ/ImLLfSaKuPjkmD
V68Ju10pB4X96Bhw+H5GkrA2V+dnlnRGx7E+/FQXvdBaT2SXYopLSSzgvUAxMJlU
iDzUuGvih0/8WX5o6rBcS43cDwE2V/8qeb1bCK0TXvPuch7W38xv6wi19aKUxc0x
xpjMb/M8rdHfaaUySfUA3tvlwYyPW/BmVVkCPrTdV7PO9f+GNiY=
=9bJm
-----END PGP SIGNATURE-----