News for hackers. Stuff that matters.
Re:Pijul is a free and open source (GPL2) distributed versio... by adastra22 on Wednesday February 21, 2024 @12:54PM (#39457096)
Not really. The real innovation of a lot of these alternative DVCS systems is that they free the state of the source from being dependent on the history that got you there. Such that applying patches A & B in that order is the same as applying B' & A' -- it results in the same tree. Git, on the other hand, hashes the actual list of changes to the state identifier, which is why rebasing results in a different git hash id.

So long as you require git compatibility, you're kinda stuck with git's view of what history looks like. Which is rather the point.

Re:Pijul is a free and open source (GPL2) distributed versio... by steveklabnik on Wednesday February 21, 2024 @03:07PM (#39458807)
Newbie jj convert here.

jj is not patch based, like pijul, but snapshots, like git.

A sibling commentor points out the change id stored by jj: it is true that at the moment, this isn't really exportable to git in a native way. However, there is a path forward here, and it may come to pass. Until then, systems like Gerrit or Phabricator work better with jj than systems like GitHub.

However, all is not lost there either: tooling like spr[1] allows you to map between the two universes.

At my job, at least one person was using jj for six months at work without any of the rest of us being the wiser. Some of the rest of us are trying it out. A really nice thing about jj is that you can use it without anyone else needing to, thanks to the git interop.

1: https://github.com/getcord/spr

Re:Pijul is a free and open source (GPL2) distributed versio... by sunshowers on Wednesday February 21, 2024 @01:54PM (#39457887)
That is definitely a tradeoff. On the other hand, the history of all human progress is a history of path dependence. Constraints spur creativity and Jujutsu works extremely well.

(I've worked with the main author of Jujutsu before. Also, having worked on Mercurial for many years, I have my biases about how source control should work. Jujutsu's workflow is very similar to Mercurial's, with some rather stunning improvements on it.)

Re:Pijul is a free and open source (GPL2) distributed versio... by Zambyte on Wednesday February 21, 2024 @01:08PM (#39457269)
Jujutsu uses change IDs, which are an abstraction over commit IDs, that are stable over operations like rebasing.