Hacker News new | ask | show | jobs
by ZoomZoomZoom 86 days ago
The key insight in the third sentence?

> ... CRDTs for version control, which is long overdue but hasn’t happened yet

Pijul happened and it has hundreds - perhaps thousands - of hours of real expert developer's toil put in it.

Not that Bram is not one of those, but the post reads like you all know what.

5 comments

I have a weird hobby: about once a year I go to the theory page [0] in pijul manual and see if they have fixed the TeX formatting yet.

You would think that if a better, more sound model of storing patches is your whole selling point, you would want to make as easy as possible for people who are interested in the project to actually understand it. It is really weird not to care about the first impression that your manual makes on a curious reader.

Currently, I'm about 6 years into the experiment.

Approximately 2 years in (about 4 years ago), I've actually went to the Pijul Nest and reported [1] the issue. I got an explanation on fixing this issue locally, but weirly enough, the fix still wasn't actually implemented on the public version.

I'll report back in about a year with an update on the experiment.

[0] https://pijul.org/manual/theory.html

[1] https://nest.pijul.com/pijul/manual/discussions/46

> It is really weird not to care about the first impression that your manual makes on a curious reader.

On the contrary, I think this is an all-too-familiar pitfall for the, er... technically minded.

"I've implemented it in the code. My work here is done. The rest is window dressing."

Hilarious. I agree that it says a lot how a project handles reports like these.
I mean, I personally just saw some stuff inside dollar signs and went "huh, weird choice of delimiter"
I hadn't heard of Pijul. My first search took me to https://github.com/8l/pijul which hasn't been updated in 11 years, but it turns out that's misleading and the official repo at https://nest.pijul.com/pijul/pijul had a commit last month.

... and of course it is, because Pijul uses Pijul for development, not Git and GitHub!

> I hadn't heard of Pijul

I'm surprised! Pijul has been discussed here on HN many, many times. My impression is that many people here were hoping that Pijul might eventually become a serious Git contender but these days people seem to be more excited about Jujutsu, likely because migration is much easier.

Looks like it makes the homepage only once or twice a year (using points>50 as a proxy for that), had more buzz around five years ago: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
I too am here all the time and have never heard of it. But it looks interesting.
The canonical website is https://pijul.org. The homepage has a link to the pijul source repository.
They should mirror on GitHub for marketing purposes
How would they do that if they don't use git for version control? Does GitHub allow other forms of version control other than git?
SQLite does it despite using Fossil - their mirror is at https://github.com/sqlite/sqlite

Git is so established now that it's sensible for alternative VCS to have a mode where they can imitate the Git protocol - or seven without that you can still checkout the latest version of your repo and git push that on a periodic basis.

Git is not a protocol, it is a data format. That only makes sense when your VCS system is similar enough to git to easily allow converting between the two representations.
Similarly, CUE uses Gerrit and has two way sync. If you are building a VCS today, git interop is a must.
pijul clone https://nest.pijul.org/pijul/pijul

pijul log --hash-only > all_changes.txt

pijul unrecord --all

git init

``` for HASH in $(cat all_changes.txt); do pijul apply "$HASH" pijul reset # sync working copy to channel state git add -A git commit -m "pijul change: $HASH" done ```

git remote add origin git@github.com:you/pijul-mirror.git git push -u origin main

Do you use Pijul?

From time to time, I do a 'pijul pull -a' into the pijul source tree, and I get a conflict (no local work on my part). Is there a way to do a tracking update pull? I didn't see one, so I toss the repo and reclone. What works for you in tracking what's going on there?

From time to time I get curious about Pijul, attempt to pull the Pijul repo from the nest, and encounter a no-workaround-possible bug in the network sync. I have never been able to do a fresh clone of Pijul.

It is very hard to take a project like this seriously.

Pijul isn't a CRDT is it? It's theory of patches (i.e. DARCS++) alongside native conflicts.
Its author says it implements a CRDT in its theory documentation.
Are you saying Bram hasn't worked on VCS problems much? https://web.archive.org/web/20071213090008/http://codeville.... is 20 years.