The sound distributed version control system

#310 Allow specifying additional dependencies of Change's, similiar to darcs

Closed on February 10, 2021
pmeunier on February 10, 2021

Thanks! I love all your suggestions, btw, but this one is already implemented (although poorly documented): you can add things of the form [] MYBASE32HASH in the “dependencies” section of your patches.

pmeunier closed this discussion on February 10, 2021
fogti on February 10, 2021

I haven’t seen any tracking issue to track feature-parity with darcs, which would be pretty interesting (as darcs seems to be ahuge inspiration for pijul). Is there any?

pmeunier on February 10, 2021

There’s no such tracking issue, but “command parity” with Darcs isn’t really a goal either: first, some things in Darcs are impossible in Pijul (like darcs replace), other concepts are different in design (like the pending patch). For other things, my philosophy is to try and achieve the smallest possible command set, and starting with the goal of reproducing an existing tool doesn’t seem to work well with that. That said, if you see something you’d like implemented in Pijul, it would be a very good idea to report it here, so we can discuss it.

Some other things are work-in-progress (like rollback, which currently works for all patches that don’t solve conflicts).

pmeunier on February 10, 2021

Just noticed that I forgot to say: yes, Darcs has been a huge motivation for Pijul.

Pijul is an ambitious project, writing it has taken many years, because its performance comes at the cost of more complex datastructures. Also, the Rust ecosystem was very young when we started, and this was both a curse and a blessing: a curse, because I’ve had to write a lot of stuff in order to get what I wanted (for example, an SSH server, which isn’t handled by any C library), and a blessing, because when you have to write so much stuff, you can do it the way you want (like Sanakirja, a database with fast clones).

When you keep hearing the HackerNews/Twitter mob on one side, bashing any novel idea, it’s good to be able to say “I know at least some people care about what I do”, and the existence of Darcs, along with its obvious and giant complexity problems, have been very useful for this.