
Linus Torvalds's first public mention of git (2005) - jordigh
http://lkml.iu.edu/hypermail/linux/kernel/0504.0/2022.html
======
spb
> Never mind merging. It's not an SCM, it's a distribution and archival
> mechanism. I bet you could make a reasonable SCM on top of it, though.

Linus Torvalds really has a gift for under-promising:

> I’m doing a (free) operating system (just a hobby, won’t be big and
> professional like gnu) for 386(486) AT clones.

[...]

> It is NOT protable (uses 386 task switching etc), and it probably never will
> support anything other than AT-harddisks, as that’s all I have :-(.

~~~
yason
That's simply so genuinely Finnish.

~~~
fapjacks
YES! Thanks for that. It's exactly the truth, and something I so sincerely
appreciate about their (and more generally Scandinavian) culture.

------
ttctciyf
Arguably, he's referring to (what would become) git in this earlier message in
the same thread:
[http://lkml.iu.edu/hypermail/linux/kernel/0504.0/1826.html](http://lkml.iu.edu/hypermail/linux/kernel/0504.0/1826.html)

> So I'm writing some scripts to try to track things a whole lot faster.
> Initial indications are that I should be able to do it almost as quickly as
> I can just apply the patch, but quite frankly, I'm at most half done, and if
> I hit a snag maybe that's not true at all. Anyway, the reason I can do it
> quickly is that my scripts will _not_ be an SCM, they'll be a very specific
> "log Linus' state" kind of thing. That will make the linear patch merge a
> lot more time-efficient, and thus possible.

The whole story of how git was cockled together to ameliorate the awkwardness
of dealing with BitKeeper licensing (right?) issues, and marched from there to
greatness is a pretty inspiring one, to my mind.

~~~
jordigh
Oh, good catch. It's a very vague allusion to git, though. The one I linked
was the first one where I could find the string "git" in it.

> The whole story of how git was cockled together to ameliorate the
> awkwardness of dealing with BitKeeper licensing (right?) issues, and marched
> from there to greatness is a pretty inspiring one, to my mind.

Let's not over-romanticise the subject. Github obviously had a lot to do with
it, along with luck and admiration for Linus. Also, git is hardly alone:
Mercurial was almost the same idea in the beginning. Let us not forget how
early git only had branching by cloning, like the Bitkeeper that both git and
hg were emulating.

Also, it wasn't just that bitkeeper had an awkward license. It's that Tridgell
reverse-engineered the Bitkeeper protocol, and thus Larry McVoy took away
Linux's permissions to use Bitkeeper.

~~~
kinghajj
> It's that Tridgell reverse-engineered the Bitkeeper protocol

I always thought it was weird how telnetting into a port and typing "help" was
considered "reverse engineering".

~~~
jordigh
Hm, it was more than that. It involved inspecting network packets.

What _I_ found weird is how Linus blamed Tridgell for the reverse engineering:

[http://www.theregister.co.uk/2005/04/14/torvalds_attacks_tri...](http://www.theregister.co.uk/2005/04/14/torvalds_attacks_tridgell/)

~~~
grover_hartmann
I also find that weird.

Could someone elaborate more on this?

------
jordigh
And the Mercurial announcement:

[http://lkml.iu.edu/hypermail/linux/kernel/0504.2/0670.html](http://lkml.iu.edu/hypermail/linux/kernel/0504.2/0670.html)

Matt Mackall had been working on hg for a couple of weeks prior to the public
announcement This means that both projects started at almost the same time. I
believe that Matt actually privately showed Linus hg before he made a public
announcement, but maybe I am mistaken about this story.

------
Pxtl
> I bet you could make a reasonable SCM on top of it, though.

Still waiting for that :)

~~~
mojoe
I'm the 'git expert' at work, and someone sent me this recently:
[https://www.youtube.com/watch?v=CDeG4S-mJts](https://www.youtube.com/watch?v=CDeG4S-mJts)

~~~
Pxtl
That so didn't need the cancer thing.

------
SilasX
Out of curiosity, was anyone else surprised to learn when git first came out?
I had been using it for a while, and assumed it had been around for ages,
based on how it seemed to be so oriented around a unix file system and using
the command line.

~~~
tw04
The fact you're surprised makes me feel really, really old. I remember
watching the initial conflict with popcorn in hand. I was more interested in
OpenSolaris in those days, but it was still entertaining to see the pissing
matches Linus caused as part of finding _the new way_.

~~~
SilasX
I'm not what they'd call very young (33), and I'd been programming from an
early age; I just hadn't done legit software development with version control
until about 2011, and hadn't looked up git's origins until about 2014.

------
AceJohnny2
I'm looking for a good collection of Linus' own emails discussing some of
Git's more advanced topics, as I remember he discussed some subtleties that
may be missed by other documentation such as the Pro Git book and the
manpages. (maybe said documentation has caught up, but I'd like to check to be
sure).

So far, all I've found is a few threads collected at yarchive.net [1], which
is promising, but how can I find more? Google fails me :(

[1] [http://yarchive.net/comp/index.html](http://yarchive.net/comp/index.html)
search for "git"

~~~
kasabali
I don't think you need to go much further than LKML archives. He wrote git
because of the bitkeeper incidence and then handed over the maintainership
very shortly after. There was also some mail about ranting when to rebase and
when to merge more recently, but it is also in LKML. I don't think he
regularly writes to other public lists than kernel anyway :)

------
chriscool
The Git-Merge conference, April 8th & 9th in Paris, France will celebrate 10
years of Git:

[http://git-merge.com/](http://git-merge.com/)

~~~
jordigh
Any idea what precisely they're counting as the birth of git?

------
Crito
In case anybody hasn't tried it yet: It is pretty cool to check out the first
copy of git that was committed to git. It is incredibly simple, yet was
sufficient to create a commit that is still in the same git repo as modern
git.

[https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23...](https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290)

~~~
scrollaway
This is interesting:
[https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23...](https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290#diff-
ca7628e295e2c5654dbdec183d70158dR94)

A commit having multiple parents is not possible in git as of today. Change of
mind?

~~~
alblue
It is possible for a git commit to have zero parents (initial commit), one
parent (the direct ancestor in a linear path), two parents (generally referred
to as a merge node) and more than two parents (also referred to as a merge but
only possible using the octopus strategy).

~~~
scrollaway
Ah, of course, merge nodes have multiple parents.

I had never heard of octopus merges though. It's fascinating. Here[1] is the
article I read on it.

[1] [https://developer.atlassian.com/blog/2015/01/git-merge-
disti...](https://developer.atlassian.com/blog/2015/01/git-merge-distinct-
octopus-merge/)

