Live data from Hacker News

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

news.ycombinator.com

141–150 of 309 posts

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

#141

Earlier quoted context omitted.

>I understand that people might want to make it easier, since the UI is complex, but that’s never going to work. If you abstract away the complexity of the UI, you will necessarily abstract away the power. I disagree, really. There is not fundamental reason why you cannot have user-friendly UI for 98% of the cases and some "advanced" for those 2%. Just like GUIs have "advanced" settings, the CLI can have well designe…

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?

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

#142
Maybe there are certain domains where you could obviously do better. Take an artist wanting to version control images, i could imagine specialized tools that could be much better. For programming, there could be improvements for versioning groups of repositories that work together perhaps.

For standard needs, probably going to be difficult.

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

#143
post #9

Jujutsu version control system looks very promising in the way it brings the best of other DVCS'es together and innovates on various concepts. It has been discussed a number of times on HN before. [0] https://github.com/martinvonz/jj [1] 4 montsh ago, 261 comments https://news.ycombinator.com/item?id=36952796 [2] 2 years ago, 228 comments https://news.ycombinator.com/item?id=30398662

I tried this, and I loved it. It works very well with my workflow. Perhaps the author can explain - when you clone the repo with jj git clone It pulls down a branch that is auto generated like pull-(hash) I can’t understand how not to get that corrupted so when I do a jj log, I get very weird branches or heads or I’m not sure what. Another way to say it is that everything works great until I have to pull down the rep…

Just echoing Martin, but: if you can show the repository that is causing this, or at least a screenshot (or something) showing what you're seeing and post it on GitHub, one of us should at least be able to help figure out what's going on.

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

#144

Earlier quoted context omitted.

Git keeps the entire history on your local machine, this becomes a problem if your project grows to several hundred GB (not untypical in game dev). Even SVN was much better for working with large repositories, you only needed a big server. Git is quite nice for "source code only projects though".

Does Git LFS help with this problem?

Overall LFS feels a very hacky tacked on solution with warts.

Git LFS is horrible if you mistakenly add some file(s) to LFS.

Restoring to LFS-less state is supposed to be easy but it is always very painful.

There should be a way to tell repo - I do not want any LFS at all. In practice this is painful, and it is easier to start a new repo....

Also for some reason Github/Microsoft decided to "monetize" LFS. The freebie limits are 1GB for hosting AND transfer! Then the charges get very expensive.

I am not sure why Github LFS is priced like some AWS S3 plan not OneDrive plan.

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

#145

The inner workings of git are not overly complicated. The real problem is git only provides a thin layer on top of the inner workings. It’s not git that needs replacing, (it’s just saving blobs of data) it’s the user interface on top that is confusing. The problem with simplifying the user interface is that abstracting away the complexity is super difficult.

Git does have one big architectural problem IMO - native unit of storage is a blob, not a diff. Things like rebase, cherry-pick, 3-way merge, etc would be much easier in a world where the storage model was “diffs” instead of “blobs”. This would have resulted in simpler CLI tools with fewer pitfalls.

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

#146
post #66
post #9

Jujutsu version control system looks very promising in the way it brings the best of other DVCS'es together and innovates on various concepts. It has been discussed a number of times on HN before. [0] https://github.com/martinvonz/jj [1] 4 montsh ago, 261 comments https://news.ycombinator.com/item?id=36952796 [2] 2 years ago, 228 comments https://news.ycombinator.com/item?id=30398662

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.

There are other advantages aside from the static types debate in the other replies. The need for efficient version control systems is a constant and ongoing battle; you can pick the right data structures (for example, Git's issues with large files are more of a data structure problem than one of raw efficiency) but at the end of the day Python will often be behind on raw performance. Rust will hopefully let us embed the Jujutsu libraries inside other languages, something you can only achieve today in Git with something like libgit2. Finally, a lot of the infrastructure we get to use, like nextest and cargo-insta are simply fantastic even if I have my qualms about Cargo.

Most of the developers (some of them being former Mercurial and Git developers) including me generally seem to like it. Based on my own experience, I think it's a pretty excellent choice, but I'd be a bit biased as a die-hard Haskell/C programmer for something fast with types.

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

#147
post #16

Subversion was really good. It wasn't perfect, but it was relatively painless. Instead everyone switched to a "distributed" version control system that is such a pain in the ass it is all now hosted by a single company.

Many companies host git besides github (gitlab and bitbucket to name two), and you can spin up one of your own in about 1 minute on your hardware or on a private cloud vps. A github server is much easier to set up than a subversion server. The reason people use github is because it's free, and because it has issue tracking and a wiki and forking which plain git knows nothing about.

> A github server is much easier to set up than a subversion server.

Oh here we go again. You are wrong my friend. Firing up a basic SVN server is a matter of minutes. You just need to run several simple commands.

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

#148

Earlier quoted context omitted.

> A github server is much easier to set up than a subversion server. You can't set up a GitHub server.

The intention I got from @dreamcompiler was that "A git server is much easier to set up than a subversion server.", which I feel is true.

No, this isn’t true. You can deploy your SVN server with ‘svnserve’ in just a few minutes.

https://svnbook.red-bean.com/en/1.8/svn.serverconfig.svnserv...

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

#149
post #81

Along what axis do you want the VCS to be "better" than git? For example, git's cli user interface is monstrous (yes, I know, you personally have 800 cli commands memorized and get them all right every time, that doesn't make it "good"). From the outset, the maintainers of git basically decided "it's too much work to make all the cli flags behave and interact consistently" so they didn't. This allowed git to grow fas…

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…

> 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.

IDEs and text editors sometimes have nice Git integrations in the UI, but I wanted standalone software that I can use for anything from various programming projects, to something like gamedev projects (with Git LFS) or arbitrary documents.

In the end, I just forked over some money for GitKraken, it's pretty good, especially with multiple accounts on the same platforms, when you want to switch between them easily: https://www.gitkraken.com/

There's also Sourcetree which I used before then, kind of sluggish but feature complete: https://www.sourcetreeapp.com/

For something more lightweight, I also enjoyed Git Cola on various OSes: https://git-cola.github.io/ Even Git documentation has a page on the software out there, a good deal of which is free and has good platform support: https://git-scm.com/downloads/guis

Quite frankly, I spend like 90% of the time using a GUI interface nowadays, when I want to easily merge things, or include very specific code blocks across multiple files in a commit, or handle most of the other common operations. Of course, sometimes there's a need to drop down to the CLI, but you're right that some GUI software feels like it actually improves the usability here.

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

#150
post #81

Along what axis do you want the VCS to be "better" than git? For example, git's cli user interface is monstrous (yes, I know, you personally have 800 cli commands memorized and get them all right every time, that doesn't make it "good"). From the outset, the maintainers of git basically decided "it's too much work to make all the cli flags behave and interact consistently" so they didn't. This allowed git to grow fas…

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…

TortoiseGIT on Windows is killer. Hard for me to code without it.
Post reply on HN