Live data from Hacker News

Jujutsu – A Git-compatible DVCS that is both simple and powerful

github.com

231–233 of 233 posts

Re: Jujutsu – A Git-compatible DVCS that is both simple and powerful

#231
post #206

Earlier quoted context omitted.

One of the many breakthroughs in git was precisely not being patch based. Being patch-based means that the tools for comparing versions are hard-coded into the data format. One of the major upsides of CVS->SVN, for example, was support for file moves. Simple issues like this weren't possible to fix without reworking the whole system. With a version-based model, how you compare them is determined by the user space, wh…

It also means cherry picking commits between branches prevents clean merging afterwards meaning you have to force yourself to keep branches short-lived. The patch graph pijul gives you doesn't have this issue. I'm not an expert, but when reading the Pijul blog it made a lot of sense for me.

No, that's mostly the fault of many bad decisions in the git user space. The data model is quite brilliant and quite general.

It'd be possible to write a really good user space around the git data model if someone had the time and inclination.

My personal gripes:

* I like to commit every time I change a few lines of code. To have a clean version history, git requires me to rebase all of those commits. I'd like to have "major" and "minor" commits, which the git data model can support in several different ways (as a list, a tree, or DAG; I prefer the tree model). The user space makes anything like this incredibly painful. It encourages rewriting history, which is actually rather bad.

* Large files are managed very, very badly. It's ironic since the git data model is ideal for things with large files.

* Related, partial trees aren't really supported. This gives scaling issues. In many cases, I just want to work with a few files, or just the latest commit. Some of this is technically possible but practically painful enough to be not worthwhile.

* Nested projects / submodules.

Of those, only submodules might require changes to the underlying data model.

Re: Jujutsu – A Git-compatible DVCS that is both simple and powerful

#232

Earlier quoted context omitted.

As one who has set up skunkworks git boxes before, I think OP is probably referring to the fact that there is not a no-brainer out-of-the-box way for git repos on different dev machines to autodiscover each other, even on a local network. You can have everyone manually set up a git hosting env on their dev machine, then have everyone manually add a remote for every other developer's box, but it sure isn't convenient.…

> I think OP is probably referring to the fact that there is not a no-brainer out-of-the-box way for git repos on different dev machines to autodiscover each other, even on a local network. Ah, OK, gotcha. Thanks! > You can have everyone manually set up a git hosting env on their dev machine, then have everyone manually add a remote for every other developer's box, but it sure isn't convenient. Yeah. But fortunately…

> But in a corporate (or even Open Source project?) environment, The Powers That Be probably want that kind of / that much centralisation anyway.

Agreed. I have used git in genuinely decentralized ways and have concluded that in practice centralization is the right answer for almost all projects.

Even though having the full history locally is a transformative improvement pet Subversion's model, in practice it's really helpful to know there's a canonical source of truth and to coordinate around it.

Re: Jujutsu – A Git-compatible DVCS that is both simple and powerful

#233

Earlier quoted context omitted.

> I think OP is probably referring to the fact that there is not a no-brainer out-of-the-box way for git repos on different dev machines to autodiscover each other, even on a local network. Ah, OK, gotcha. Thanks! > You can have everyone manually set up a git hosting env on their dev machine, then have everyone manually add a remote for every other developer's box, but it sure isn't convenient. Yeah. But fortunately…

> But in a corporate (or even Open Source project?) environment, The Powers That Be probably want that kind of / that much centralisation anyway. Agreed. I have used git in genuinely decentralized ways and have concluded that in practice centralization is the right answer for almost all projects. Even though having the full history locally is a transformative improvement pet Subversion's model, in practice it's reall…

s/pet/over/
Post reply on HN