Live data from Hacker News

20 years of Git

blog.gitbutler.com

231–240 of 240 posts

Re: 20 years of Git

#231

Earlier quoted context omitted.

> There’s this whole creation myth of how Git came to be that kind of paints Linus as some prophet reading from golden tablets written by the CS gods themselves. Linus absolutely had a couple of brilliant insights: 1. Content-addressable storage for the source tree. 2. Files do not matter: https://gist.github.com/borekb/3a548596ffd27ad6d948854751756... At that time, I was using SVN and experimenting with Hg and Bazaa…

> 2. Files do not matter I wish weekly for explicit renames. > At that time, I was using SVN and experimenting with Hg and Bazaar. Both were too "magical" for me, with unclear rules for merging, branching, rebasing. I have no idea what you mean. > It's such an easy mental model, and you can immediately understand what operations mean. Many people disagree clearly.

> I wish weekly for explicit renames.

You can do that in git. `git mv` stores a hint in the commit that a file has been moved.

You just don't _have_ to do it.

Re: 20 years of Git

#232
post #218

Earlier quoted context omitted.

I just wish they'd extend git to have better binary file diffs and moved file tracking. Remembering the real history matters, because preserving history is valuable by itself, but I'm also really glad that VCS is for most people completely solved, there's nothing besides Git you have to pay attention to, you learn it once and use it your whole career.

> but I'm also really glad that VCS is for most people completely solved, there's nothing besides Git you have to pay attention to, you learn it once and use it your whole career. From what I hear most current new developers never really learn git, they learn a couple features of some git GUI. And it's understandable, you're really understating what learning git (one of the messiest and worst documented pieces of sof…

That definitely describes me. I can use the Git CLI if needed, because the Git Book exists, but I almost never need to.

If I had to actually use git on the CLI every day, I would probably complain a lot, but it's a pretty good experience when you're using Git Cola and GitHub.

It would be nice if it had native discussions, issues, and wikis, like Fossil does, having that all, decentralized seems like a good idea though.

Re: 20 years of Git

#233
post #65

There’s something that bothers me about these sorts of recollections that make git seem… inevitable. There’s this whole creation myth of how Git came to be that kind of paints Linus as some prophet reading from golden tablets written by the CS gods themselves. Granted, this particular narrative in the blog post does humanise a bit more, remembering the stumbling steps, how Linus never intended for git itself to be th…

> there are also completely different data structures that would be appropriate for larger bits of data. Can you talk a little bit about this? My assumption was that the only way to deal with large files properly was to go back to centralised VCS, I'd be interested to hear what different data structures could obviate the issue.

One way to deal with large binary files is git-annex, it is as decentralized as git. But I dare say it lost to git-lfs, because Github and co weren't interested in hosting it.

Re: 20 years of Git

#234
post #209

Earlier quoted context omitted.

> since it was backed by the main Linux dev For “backed by” read “initially written by”. I don't particularly remember Linus making any push for git to be generally popular. While he was more than happy for other projects to use it and be his testing resource, his main concern was making something that matched his requirements for Linux maintenance. BitKeeper was tried and worked well¹, but there were significant lic…

> I don't particularly remember Linus making any push for git to be generally popular. Outside of giving one of the highest visibility tech talks in history, at Google (back when Google was the mega hip FAANG), declaring Subversion (the then leading SCM) brain dead? Marketing works in many different ways, as does signaling. Geeks wear suits, too, their suits just aren't composed of suit jackets and suit pants, they'r…

> declaring Subversion (the then leading SCM) brain dead?

I remember that more as berating the incumbent leader in non-distributed VCSs, than promoting a specific DVCS, and that git wasn't mature at that point (the move from BK had not happened). Though maybe my remembered timeline is muddled, do you have further reference to that talk so I can verify details?

Re: 20 years of Git

#235
And me 10 years cloning git repos from scratch instead of bothering to learn a plethora of archaic commands only to fix a broken commit.

https://xkcd.com/1597/

And it isn't as if I haven't used RCS, SCCS, CVS, Clearcase, TFS, Subversion, Mercurial before having to deal with Git.

Re: 20 years of Git

#236
post #229

Earlier quoted context omitted.

Also, some source files that could otherwise be treated as text⁰ end up effectively being binary blobs because tools don't write them in a stable order, which makes tracking small changes difficult because you can't see that they actually are small changes. A number of XML formats¹, and sometimes JSON & others, have this issue too. ---- [0] for the purposes of change tracking and merging [1] Stares aggressively at SS…

Could you use git pre-commit hooks or something similar to transform the files by deterministically sorting the items at each level? Diffoscope does something similar, diff sorted stuff first, then if there are no changes, then report that, and show the unsorted diffs. https://diffoscope.org/ https://try.diffoscope.org/

> Could you use git pre-commit hooks

Possibly, though I might be concerned that the format has ordering oddities that it is unexpectedly sensitive to. Unlikely, but given how many other oddities DTS/SSIS has collected over the years I'd not be surprised!

Also, we weren't using Git in DayJob at the time we were actively developing with SSIS (maybe VSTS had an equivalent we could have used?), and we are now acting to remove the last vestiges of it from our workflows rather than spending time making it work better with them!

Re: 20 years of Git

#237
post #65

There’s something that bothers me about these sorts of recollections that make git seem… inevitable. There’s this whole creation myth of how Git came to be that kind of paints Linus as some prophet reading from golden tablets written by the CS gods themselves. Granted, this particular narrative in the blog post does humanise a bit more, remembering the stumbling steps, how Linus never intended for git itself to be th…

> blob-tree-commit-ref data structure were the perfect representation of data

Is it not? What are the alternatives?

Re: 20 years of Git

#238
post #136

Git, still a ripoff of BitKeeper. All innovation begins as closed source.

> All innovation begins as closed source

I think you need to check your history. In the early days, before closed/proprietary software, source code was often shared between programmers.

Lets look at text editors. They did not begin "closed source" - but companies have a team of people to help SELL their products, even if they are inferior to whats already out there.

Baically, once computers matured was an opportunity to make a buck. Companies started selling their products for a fee. I would not be surprised if the source code was included before someone realised people can just pay for the executable. More money can be made by excluding the source code so new updates can also be for a fee.

(Lets not talk about "End user Licence Agreements" in this post, OK)

The "dominance" of closed source is really about companies with money controlling the status quo, with lawyers and sales teams knowing how to push it in favour.

Companies like Micro$oft today have soo much money they dictate the direction our computers systems are going. They push it in a direction that favours them. They have a hand controlling the flow, like other big companies having a hand trying to change to stream for their intent and purposes.

This is why -- whether you love him or hate him, I have much respects for people like Richard Stallman or others like Linus Torvalds.. to name a few!

You want to talk about "innovation" ?? What do you think these "Closed source innovations" are build with? Software is created using a Programming language such as Python, C++, C, Javascript, etc... the VAST MAJORITY being free to use, under some sort of Open Source community!

Lets also look at large companies in general.. many of which are not innovating... they are just purchasing smaller companies that are trying to do new things... closed source software or not.

Lastly, lets also be honest that innovation is not created out of thin air -- everything is inspired by something previously.. whether a failed experiment or something already successful. New ideas come about with more failures.. but comes further ideas until, eventually, we have something successful!

Linux may be inspired by other Operating Systems, and those were inspired by other things, etc. Innovation is progressive. Point I am making, if any company found ANY opportunity to build a closed-source version to shut down a popular Open Source equiverlant... THEY WOULD DO IT!

Re: 20 years of Git

#239
post #209

Earlier quoted context omitted.

> I don't particularly remember Linus making any push for git to be generally popular. Outside of giving one of the highest visibility tech talks in history, at Google (back when Google was the mega hip FAANG), declaring Subversion (the then leading SCM) brain dead? Marketing works in many different ways, as does signaling. Geeks wear suits, too, their suits just aren't composed of suit jackets and suit pants, they'r…

> declaring Subversion (the then leading SCM) brain dead? I remember that more as berating the incumbent leader in non-distributed VCSs, than promoting a specific DVCS, and that git wasn't mature at that point (the move from BK had not happened). Though maybe my remembered timeline is muddled, do you have further reference to that talk so I can verify details?

This is trivially google-able.

Well, I guess I might as well play ChatGPT :-)

https://en.wikipedia.org/wiki/BitKeeper

https://en.wikipedia.org/wiki/Git

https://sandeep.ramgolam.com/blog/linus-torvalds-talks-about... -> https://www.youtube.com/watch?v=4XpnKHJAok8

Re: 20 years of Git

#240

Earlier quoted context omitted.

> 2. Files do not matter I wish weekly for explicit renames. > At that time, I was using SVN and experimenting with Hg and Bazaar. Both were too "magical" for me, with unclear rules for merging, branching, rebasing. I have no idea what you mean. > It's such an easy mental model, and you can immediately understand what operations mean. Many people disagree clearly.

> I wish weekly for explicit renames. You can do that in git. `git mv` stores a hint in the commit that a file has been moved. You just don't _have_ to do it.

> `git mv` stores a hint in the commit that a file has been moved.

No. It appears in git status but is not committed. And it disappears from git status if the file is modified enough.

Post reply on HN