Re:Pijul is a free and open source (GPL2) distributed versio...
by vlowther on Wednesday February 21, 2024 @10:47AM
(#39455224)
More than that. If you have ever had to fix a bug in code common to multiple maintained releases of a project, being able to apply the same patch to them all as its own thing instead of having multiple cherry-picked commits with identical content would be nice.
Re:Pijul is a free and open source (GPL2) distributed versio...
by grepknfss on Wednesday February 21, 2024 @12:39PM
(#39456905)
I think giving a patch its own identity is a pretty neat concept and clearly different than the git approach, so thanks for this example!
Re:Pijul is a free and open source (GPL2) distributed versio...
by pmeunier on Saturday February 24, 2024 @08:57AM
(#39491520)
You're describing working on your own single-author project, in which case there is indeed little difference (Pijul has less tooling).
In practice on actual real world cases, there are lots of differences when you start working with others: even on a small project, you don't have to plan your feature branches anymore, conflicts are solved once and for all, you get free cherry-picking of bugfixes to your production branch, etc.
When your project scales, there are even more differences: commutativity handles large repos for free, patches describe large files much more efficiently than by giving their whole contents (which snapshots do).
As for the differences, the advantages are listed right there on the front page: commutation, merge correctness, first-class conflicts and partial clones.
Explaining these in more detail in a short example ("a blurb") is not really easy because you'd have to first set up an example three way merge (for example) and then study the behavior of git vs. pijul in detail. I recall seeing a video presentation from the Pijul authors which delved deep into this if you're interested.
But I'll give it a go anyway...
tl;dr: pijul can handle certain merge situations automatically where git requires you to manually resolve them