Please explain channels

“The pristine” is a bit vague. The pristine directory contains one or more channels. If you don’t like them, you can use Pijul like Darcs or SVN. Other users believe they can’t live without something similar to Git branches, and may find channels useful.

The main reason I wrote them (and spent years writing and polishing Pijul’s backend, called Sanakirja) is to make it mentally easy for the majority, which is sadly mostly made of Git users, to switch to Pijul.

I agree this would be useful, but I’m not sure how to write it yet.

What happens internally is significantly harder to explain than in Darcs or Git, unfortunately. This is often why the documentation is sometimes hard to write: in this project, even things that are intuitive and simple aren’t easy to implement under the hood. This is mostly because of performance constraints: you can’t claim to write a version control system these days if you aren’t competitive with Git on that metric.