Live data from Hacker News

Pijul is a free and open source (GPL2) distributed version control system

pijul.org

111–120 of 212 posts

Re: Pijul is a free and open source (GPL2) distributed version control system

#111
post #20

Earlier quoted context omitted.

> Can someone give me a real world example (person a makes X change, person b makes y change etc. etc.) that would work better in Pijul than Git? Simplified example: Persons A and B check out master branch. Person A adds a.txt, commits and pushes. Person B adds b.txt, commits and tries to push and... 1) git will not accept the push because it's not on top of current master branch, person B needs to fetch and merge/re…

The git behavior seems greatly preferable here. As mentioned in other threads, the notion of commutativity here is very weak and counterintuitive; it only seems to cover the applicability of an auto-merge heuristic, not any actual notion of correctness or semantics, so a human is needed to review the merge and re-test before anything can be known safe for pushing upstream. If anything, git is too lenient in allowing…

When the contents has a conflict, git and pijul behave similarly.

When the contents are identical, but the order of commits is different, git will conflict and require manual resolution. Pijul will not.

As you say, neither will automatically check for correctness and you should run tests and CI when merging.

Pijul just removes the manual work when there is no conflict in the contents but the history is different.

Re: Pijul is a free and open source (GPL2) distributed version control system

#112
post #16

I seem to recall very positive comments regarding pijul's underlying architecture/theory. However, as I don't have the headspace to delve into it, I would love a blurb at the beginner level that highlights the benefits of using pijul compared to other VCS, and a very brief and simple comparison between pijul and git (focusing on the differences).

I have the same question every time Pijul comes up on HN, and I have yet to get an answer: Can someone give me a real world example (person a makes X change, person b makes y change etc. etc.) that would work better in Pijul than Git? I am a complete believer on a sound underlying model producing better results for users at a high level, but I'm not clear on how it maps through for Pijul. I think that's what they're…

The thing I like most is that cherry-picks are real, not simulated.

In git, a cherry-pick pulls the change you're interested in off a branch, making a copy in the process. If you later merge or rebase that branch, there are two versions of it in the history, this can have practical consequences, it's not uncommon for this to generate conflicts which wouldn't be there without the cherry-pick.

In pijul, a cherry-pick is just one way to apply a patch. It's the same patch in both branches, so the history doesn't contain two versions of the change, only one. So there is no difference in the result between 'branch, cherry-pick, merge' and 'branch, merge'. Ever.

Re: Pijul is a free and open source (GPL2) distributed version control system

#113
post #61
post #37

I used darcs before git and it was very nice - the first distributed RCS I'd ever used. I believe pijul is a follow-on to that so it should be great. Later on I used Mercurial and it was very easy with a great GUI and it felt safe. git is like shaving with a straight shaving razor - alarming until you've developed your set of frequently used commands and ways to stay out of trouble. Even I have to use git because who…

git != github

To be fair, many git maintainers are or have been github employees and git is officially hosted on github.

Re: Pijul is a free and open source (GPL2) distributed version control system

#114
post #52

I like how Pijul has a math-centric approach under the hood. The name needs to be changed if they want to get traction.

git did quite well with its...

That may be survivorship bias. How many TLA projects failed that we never heard of?

Not to mention the number of times I've tried to do a web search on an ordinary English word because someone thought that was brilliant to use as a product name and it turns up nothing because they didn't get as popular as Git or didn't have other distinctive keywords to go along with it, such as when your query not only includes "bash" but also "variable" that is unlikely to occur in a dictionary entry about the verb to bash

I'd be very surprised if there is no causal relationship between names and the chances of success, all else being equal, and the devil is in the "all else". Evidently this is not a problem with a big enough marketing budget (think Teams and Meet), but without that it may be much more economical and practical to think of a useful name

Re: Pijul is a free and open source (GPL2) distributed version control system

#115
post #65

Hey what does this item in the FAQ mean? > Do files merged by Pijul always have the correct semantic? > No. Semantics depends on the particular language you’re using, and Pijul doesn’t know about them. That makes it sounds like Pijul might sometimes merge two functionally correct versions of a file into an unfunctional, incorrect one? Is this referring to a problem git and other merge tools have as well, or is it uni…

So in this scenario there's a general case and a special case.

The general case is where merging a patch makes the code invalid in some sense. This can range from a syntax error to a subtle bug. Version control systems don't prevent this, because they can't: in full generality, correctness is an opinion of the author.

The special case is where two patches each create a valid program, but applying both of them makes the program invalid. I think that's in the FAQ because pijul makes much of the fact that it has a sound theory of patches, as it should, that's a wonderful thing. But people commonly confuse soundness and validity, leading to questions like "so what you're saying is that a merge will never result in a borked program?".

IMHO that shouldn't be in the FAQ though, because it creates the impression you got, which is that Pijul is talking about something which might be possible in principle but which it doesn't happen to be capable of. It's just patiently explaining that Pijul can't do impossible things.

Re: Pijul is a free and open source (GPL2) distributed version control system

#117

Earlier quoted context omitted.

Github can use/offer Pijul. Sure they named themselves after technology, but nothing prevents them to offer other control systems.

Nothing except their own arrogance. See svnhub.com. It was registered by github to block potential competition long before SVN support on github became available.

Preventing some other party from riding on the coattails of your trademark is reasonable behavior as far as I'm concerned. This doesn't prevent anyone from offering an SVN host, just from stealing free publicity from GitHub in the process. That isn't arrogant at all.

Re: Pijul is a free and open source (GPL2) distributed version control system

#118
I tried using pijul as the main VCS for my projects I really did and the fundamentals are awesome, but last time I used it the UX was pretty terrible. The easiest and most immediate thing that’d address my issues would be git status-esque command, which has been in development for quite some time, but still hasn’t landed last time I checked.

I wish pmeunier all the best and I’m glad to try out pijul again once it’s a bit friendlier.

Re: Pijul is a free and open source (GPL2) distributed version control system

#119
post #37

I used darcs before git and it was very nice - the first distributed RCS I'd ever used. I believe pijul is a follow-on to that so it should be great. Later on I used Mercurial and it was very easy with a great GUI and it felt safe. git is like shaving with a straight shaving razor - alarming until you've developed your set of frequently used commands and ways to stay out of trouble. Even I have to use git because who…

There is empirical evidence that git is diabolical: Git can be thought of as an experiment in how to make an API GUI-proof. There is no possible direct manipulation visual representation of git operations that doesn't dumb it down.

Re: Pijul is a free and open source (GPL2) distributed version control system

#120

Does it accept per-repo settings? (e.g. git config --local) Does it use proper SSH? (e.g. `git clone my_entry_on_ssh_config:/repo_path.git`)

That honestly sounds like an implementation detail compared to figuring out what version control model even makes sense to begin with

If you want local configs, worst case you can update $HOME inline and make it use different dotfiles. If ssh is a must, sshfs can be a way to achieve that

Post reply on HN