

Git is the next Unix - kmt
http://www.advogato.org/person/apenwarr/diary/371.html

======
timf
This is the original entry:

<http://alumnit.ca/~apenwarr/log/?m=200801#31>

Same person who brought us "Tracking an entire Windows sytem inside Git" last
month:

<http://news.ycombinator.com/item?id=455320>

Note the title could be construed the wrong way, the author means it is the
next unix only as an analogy: it's a new, underlying platform where atomic
building blocks can be combined and hooked up by higher level programs to do a
lot of great things.

~~~
alecco
Any title describing success or rants on GIT, Lisp, Haskell, or Ruby gets
automatic up-votes.

And maybe it could be stretched to be "the next _Linux_." Still wrong.

~~~
krschultz
I read the article before upvoting it, sounds like you didn't since he made a
pretty clear analogy between GIT and Unix that wasn't just link bait.

~~~
sh1mmer
I hope you read any article on Hacker News before upvoting it.

More than that I hope you read the comments too, because if you aren't an
expert that might be one here who can help debunk snake oil before you upvote.

I've been caught a few times reading a story, upvoting it, and then finding a
well written comment a moment later about what total tosh it is.

~~~
access_denied
... and agreed with the comment?

~~~
pmjordan
Yes, that happens all the time to me, too. Comments here are often much better
argued than the linked articles. And I guess it should be no surprise to you
that even well-written articles can be complete tosh.

------
psranga
Git is great and it blew and expanded my mind.

But I have some questions for the the experts. Is git really a fantastic
achievement, or is the praise for git coming from people who are not experts
in source control (+)?

Based on my cursory readings, it appears that the concepts Git uses (dag,
everything is a node, tree snapshotting etc) existed in Bitkeeper.

(+): I ask this because I've repeatedly found that what looks like a big
conceptual leap to outsiders is actually a gradual evolution. Examples: I
first thought RISC was a big leap, but on reading up the technical papers
later, I realized that it was made of lots of innovations by lots of people.

~~~
cduan
I think your hypothesis is correct, but that doesn't make Git any less of an
achievement. Certainly it is the product of technologies that existed, but it
is the manner in which Git packages those features that is innovative. Indeed,
much of the brilliance of Git is how _simple_ it is conceptually compared to
other systems--it is the concepts that Git leaves out, not what it uses, that
count.

~~~
pmjordan
Moreover, git is extremely fast compared to almost every other VCS.
Performance was the thing that pushed Linus to start the project in the first
place, but it's still amazing just _how_ fast it is.

~~~
sovande
_Performance was the thing that pushed Linus to start the project in the first
place_

No, problems with the bitkeeper license was the reason git was started. Linus
was very happy with bitkeeper as the VCS for Linux until some kernel
contributor tried to reverse engineer parts of bitkeeper which caused the
bitkeeper author to threaten to revoke the free license. Git is basically a
rewrite of bitkeeper

~~~
pmjordan
Sorry, maybe my comment wasn't quite clear enough.

BitKeeper license problems caused him to _look for another VCS_. However,
before he started git, he tried a bunch of other DVCS systems, including open
source ones, and decided he couldn't work with them because they were simply
too slow. Hence git. See
<http://en.wikipedia.org/wiki/Git_(software)#Early_history> From the quote
there it's clear that it's _not_ a BK rewrite. git is apparently faster than
BK.

------
jrbedard
GIT is built to manage a large collection of small files. e.g. the linux
kernel repos, files that are a only a few KB on average. It is optimized to
operate fast on such a cluster of small blobs, but as soon as it processes
bigger files (MB,GB) its performance and advantages degrade a lot. Also, the
lack of partial checkout makes it painful to get only a subset of the large
files that you are storing. Probably because you wouldn't want to checkout
only part of the linux kernel.

But those limitations may only be in the Git porcelain, all the plumbing
underneath might be a great base for the concept of a distributed file system.
GIT is the first step in the right direction, or even could be the platform to
support it. <http://www.wizbit.org/drupal/> is a company that tries to achieve
something like that.

------
omouse
So Git is something that should be built into your OS? Yeah, no shit, that's
why Squeak has fine-grained version control built-in, and weren't there
operating systems that had version-controlled file-systems?

~~~
spc476
VMS did. It had a configurable (not sure if it was system wide, or user
definable) number of versions it kept and it was simple to retrieve past
versions (as long as it was within the number of generations it kept). And
since it was at the OS level, anywhere you could request a file, you could
also specify the version.

I don't know if the versions applied to directories though (I doubt it, but my
exposure to VMS was quite brief).

~~~
kragen
No, just files. And it handled the versioning by copying the whole file, if I
recall correctly, at a heinous space cost. (My quota was 500k IIRC.)

------
aita
I am wondering can't we use git as database?

~~~
Deestan
It _is_ a database.

Not a relational database, though. But the Tree objects (1) make a
hierarchical database.

(1) <http://book.git-scm.com/1_the_git_object_model.html>

~~~
richcollins
It will be tough to use as a useful database for most applications without
cursors. I'm also not certain that its directories are ordered. If they are,
I'm even more doubtful that you can specify a custom ordering.

------
est
Git is an OS now? Let's make a GIT native FS first, or distributed information
over 'the cloud'

------
there
i'm not sure how any of that makes it the "next unix". a good filesystem
replacement/companion maybe, but hardly an operating system.

~~~
phil_collins
I just assumed the author decided to say something so ridiculous that nobody
would try to question whether it makes sense or not.

~~~
timf
It was an analogy, the author was not suggesting git would _be_ an OS.

