How does it compare to Darcs? https://hackage.haskell.org/package/darcs Edit: Better link is http://darcs.net/ , darcs has been around for more than 10 years and is still actively maintained.
Pijul: a distributed version control system, written in Rust (2019)
11–20 of 125 posts
Re: Pijul: a distributed version control system, written in Rust (2019)
#12Re: Pijul: a distributed version control system, written in Rust (2019)
#13How does it compare to Darcs? https://hackage.haskell.org/package/darcs Edit: Better link is http://darcs.net/ , darcs has been around for more than 10 years and is still actively maintained.
Re: Pijul: a distributed version control system, written in Rust (2019)
#14Latest commit from 7 months ago. Also, anecdotally I've heard it's not very user friendly in practice; more like a research prototype than usable software.
Re: Pijul: a distributed version control system, written in Rust (2019)
#15Latest commit from 7 months ago. Also, anecdotally I've heard it's not very user friendly in practice; more like a research prototype than usable software.
Re: Pijul: a distributed version control system, written in Rust (2019)
#16Latest commit from 7 months ago. Also, anecdotally I've heard it's not very user friendly in practice; more like a research prototype than usable software.
If anything, a user friendly git is what we need, not yet another tool with bad UX.
Pijul is meant to model asynchronous work as just that, whereas Git forces it into a unique history. For example, in Pijul, "pull --rebase" and "pull" produce different history, but are guaranteed by design to produce the same result, and strictly equivalent repositories (there's actually just one command for both).
This difference is fundamental.
Re: Pijul: a distributed version control system, written in Rust (2019)
#17From https://pijul.org/manual/why_pijul.html#patch-commutation : > In Git, importing just a few commits from another branch is called "cherry-picking", and involves changing the identity (the hash) of those commits. This usually works the first time. However, when done again, as the maintainer of a stable branch probably wants to do, this often causes counter-intuitive conflicts. If you're doing this in git to apply…
> If you're doing this [..], you're doing it wrong. [..] This is not 100% true (see my answer to the second part below), but the point of Pijul is that you don't need to "do things right" to avoid the potential problems of your version control system. In the end, a version control system is just a tool, not a way of life or a work methodology. Sure, there are example projects where the Git way is the best, but they a…
Sure, if the two branches have diverged around the location of the patch, there will need to be a merge resolution.
Wouldn’t Pijul require the same too?
Re: Pijul: a distributed version control system, written in Rust (2019)
#18From https://pijul.org/manual/why_pijul.html#patch-commutation : > In Git, importing just a few commits from another branch is called "cherry-picking", and involves changing the identity (the hash) of those commits. This usually works the first time. However, when done again, as the maintainer of a stable branch probably wants to do, this often causes counter-intuitive conflicts. If you're doing this in git to apply…
Some people avoid merges like plague because they hate their commit history looking like a train station. Then you cherry pick and/or rebase.
Re: Pijul: a distributed version control system, written in Rust (2019)
#19From https://pijul.org/manual/why_pijul.html#patch-commutation : > In Git, importing just a few commits from another branch is called "cherry-picking", and involves changing the identity (the hash) of those commits. This usually works the first time. However, when done again, as the maintainer of a stable branch probably wants to do, this often causes counter-intuitive conflicts. If you're doing this in git to apply…
But you don't want your VCS to dictate your project management. Maybe you want to apply the patch to the main development branch, let people try it there for a while, and then decide which maintained release branches should get the patch.
Git will record the parent commit correctly on both branches but apply no changeset to the development branch, while applying it to the release branch.
I admit the above is a bit much for most people.
Re: Pijul: a distributed version control system, written in Rust (2019)
#20Latest commit from 7 months ago. Also, anecdotally I've heard it's not very user friendly in practice; more like a research prototype than usable software.