Pierre-Étienne Meunier <pierre-etienne.meunier <at> aalto.fi>
2016-02-02 07:53:25 GMT
Hi darcs fellows,
Florent Becker and myself are proud to announce the second public release of Pijul, a new version control
system aiming to be easy to learn and use, distributed, and fast.
Pijul is based on a theoretical model of patches described here. At the conceptual level, it merges
concepts from category theory, and the patch theory developed by darcs. At the practical level, a number
of new ideas allow for a quite fast system.
A lot has changed in this second release. Pijul has been completely rewritten in a new language, Rust. While
rewriting, we have also focused on a more limited interface, to try and ensure correctness.
What we have
Here is what we have in this release (modulo bugs, of course):
- Basic file system operations: add, remove, mv, ls.
- Record, for text files only.
- Conflict handling, at the line level.
- Pull from local repositories, ssh and http.
- Push to local repositories, ssh.
- Repositories robust to hash function changes (see Layout of a repository).
What is missing
The most crucially missing feature is unrecord, with rollback a close second, but there is no fundamental
problem with this. Other features include blame/annotate, especially in the case of conflicts (this is
probably an easy project to start contributing).