Live data from Hacker News

Ask HN: Can we do better than Git for version control?

news.ycombinator.com

221–230 of 309 posts

Re: Ask HN: Can we do better than Git for version control?

#221
post #200
post #77

A lot of people these days have just been thrown into the fire with Git as the first and only VCS they’ve ever seen. I’m not that old, but I’m old enough to have used RCS, CVS, SVN, then finally Git. I started using Git super early, before GitHub existed. You may not believe me, but Git was the answer to all my prayers. All those previous systems had fundamental architectural flaws that made them a complete nightmare…

All software construction involves essential tasks, the fashioning of the complex conceptual structures that compose the abstract software entity, and accidental tasks, the representation of these abstract entities in programming languages and the mapping of these onto machine languages within space and speed constraints. Git solves the deeply complex problem of distributed version control. Most complaints about git…

Totally agree that people spend way too much time complaining about git's solutions but there's not nearly enough criticism of the fact it's solving the wrong problem 99% of the time.

I want to share 5k LOC with a colleague. Anyone who thinks that requires a decentralised solution in 2023 is unwell.

I recently wasted a few hours because I forgot to fetch before running some code. Sure the UI could be better (if you're very tired and you're told you're up-to-date you'll stupidly believe it), but fundamentally the 'feature' that caused this problem is something I'll never use. I'm always going to code with a connection to the internet. I shouldn't need to mentally keep track of local vs remote because that distinction simply shouldn't exist.

Re: Ask HN: Can we do better than Git for version control?

#222

Earlier quoted context omitted.

Re: GitHub alternatives, I've been looking at this for a while as I'm keen to not have everything centralised and Microsoft are hardly the most trustworthy... There are some GithHub-alikes, the most obvious is GitLab which you can also host yourself but all (or at least some of) the extras you get for free with GitHub are behind payment walls. My current favourite is Codeberg, it uses Forgejo underneath (which is a f…

Because Jujutsu is Git-compatible, there are lots of supported forges (GitHub, GitLab, etc.). There's no native forge yet.

Yeah I know it will work with the git backend, still not sure what the native backend can/will bring, documentation on it seems to be pretty sparse.

Re: Ask HN: Can we do better than Git for version control?

#223

Earlier quoted context omitted.

Because Jujutsu is Git-compatible, there are lots of supported forges (GitHub, GitLab, etc.). There's no native forge yet.

Yeah I know it will work with the git backend, still not sure what the native backend can/will bring, documentation on it seems to be pretty sparse.

Good point, we might want to document that. Btw, I've called it "native backend" and "native forge" myself, but maybe those are not the best terms because there are many possible native backends/forges.

For example, our "Piper" backend at Google is a native backend in the sense that it stores all data in its own database. I think the most exciting thing about that backend is that it's cloud-based so users will be able to access each others' commits (e.g. `jj show `) without requiring a push.

Re: Ask HN: Can we do better than Git for version control?

#224
post #189

Earlier quoted context omitted.

I generally don't hear too many complaints about GIT in the Windows/.NET development world, probably because there are good UI front ends and there's not as much 'tough guy' cred from sticking to the CLI. Visual Studio does a decent job of abstracting the GIT nuances, but I personally use GIT Extensions, which looks and feels much better on Windows than the other cross platform UIs. I drop to the CLI occasionally, es…

Vs code + git graph + git lens is all you need for a happy git experience.

How does diffing and conflict resolution work?

Re: Ask HN: Can we do better than Git for version control?

#225
post #66

Earlier quoted context omitted.

Surprised this is done in Rust. I could never imagine not doing the v1 of something like this in Python or similar, to be able to change things quickly. Maybe the design was very clear on the person's mind.

I feel the opposite way. Even though Python is the language I’ve used most, I wouldn’t want to use it for something with a lot of uncertainty and that will suffer many changes. Type systems make it so much easier to change things early on without breaking everything. I’d probably pick F# or similar.

There actually is a similar project in F#: https://github.com/ScottArbeit/Grace

Re: Ask HN: Can we do better than Git for version control?

#227
Mercurial and Facebook's sapling is much better than git in developer exp wise. Git is broken in many places but it become standard just because GitHub popularity and rise in development community that love to take whatever big orgs spoon feed them. Common developers these days don't like to spend time researching things that won't make quick bucks easily.

Re: Ask HN: Can we do better than Git for version control?

#228
post #77

A lot of people these days have just been thrown into the fire with Git as the first and only VCS they’ve ever seen. I’m not that old, but I’m old enough to have used RCS, CVS, SVN, then finally Git. I started using Git super early, before GitHub existed. You may not believe me, but Git was the answer to all my prayers. All those previous systems had fundamental architectural flaws that made them a complete nightmare…

While I feel like this is generally true for most programmers and knowledge workers, Git is absolutely not suited to the workflow of several industries, including the one I work in: games. Working with an engine like Unreal Engine for a project of any reasonable size requires working with both hundreds of thousands of active files (my current project's repo's HEAD has ~400k) and hundreds of gigabytes of active files,…

This sounds like a case of using excel as a db. Holding a hammer by it's head a declaring it unfit for normal people to paint with.

Re: Ask HN: Can we do better than Git for version control?

#229

Earlier quoted context omitted.

Do it then. Many have tried. All have failed. Talk is cheap.

I would say that Mercurial has a simpler UX than Git without being less powerful. I think Jujutsu (see other posts here), which I started, also has simpler UX and is more powerful than Git in many ways. Have you looked at either of those?

About a decade ago, I tried both mercurial and git, and at the time had only subversion knowledge. I remember finding mercurial extremely confusing and git very simple, but don't remember the details about why mercurial was confusing.

Re: Ask HN: Can we do better than Git for version control?

#230

Besides the frontend problems with git that everybody talks about, the backend could be improved. It's now line-oriented. It would be more useful if it knew about the semantics of the language you were writing so it could show you semantic differences. That might also provide a mode for binary files which git doesn't handle very well now.

Before we can get a vcs that understand semantic diffs, we need a way to communicate semantic diffs. That way each file type can have its own “semantic differ”. Similar to how language servers help abstract away the differences for IDEs

You can set a lot of that up with the shared config in the .vscode folder, and then enforce it with whatever rule set you chose and however you chose. We do it with auto-save and the prettier engine for Typescript, the C# engine for C#, the standard VSC engine for C++, whatever the Rust plug in for Rust is called for Rust and so on. Technically it’s a little more free to be done differently by different developers because it’s rather easy to not use our “standards” if you so chose, but if you don’t follow our defined syntax for languages it’ll likely not pass through our CI/CD pipeline, or in a few cases (like indents, line-ends) simply get altered to the standard.

I do agree with your point about different IDEs, but I think VSC is actually one of the better tools for helping development teams unify the way they code. Then again, all our developers use VSC, except for that one guy who is stuck in regular VS and often has a ton of swearing because of it. Which is pretty much the legacy experience of regular VS from having used it for 10 years myself. It still amazes me just how slow it becomes with certain plugins, and how bloaty the various templates are. But hey, he’s happy/angry with it sooo.

I guess the story becomes a little different if you work with PHP or Java or similar, where VSC is arguably much worse than its competition, but you’ll likely still have some developers who prefer it because they also work with other languages. Or in Python heavy environments where there are also a lot of great IDEs for the more ML/AI/BI side of things.

Post reply on HN