# Official git repository history?

8 messages from 2009-06-29 to 2009-07-01. Participants: Graeme Geldenhuys, Junio C Hamano, Andreas Ericsson, Linus Torvalds, Daniel Barkalow.
Thread: https://gitlist.dev/t/19977

## Graeme Geldenhuys, 2009-06-29 14:27

Subject: Official git repository history?
Message-ID: <h2aj43$ab0$1@ger.gmane.org>
URL: https://gitlist.dev/e/h2aj43%24ab0%241%40ger.gmane.org

```
Hi,

Yesterday I cloned the official git repository and for fun I checkout
out the first ever commit "e83c5163316f..."

So how did Linus get those first few commits / history into the official
git repository? Was the first 8 C source code files already enough to
work as a basic git repository?  Or did he use another revision control
system and then later imported that history into the official git
repository (when git was working)?

Just curious?  :-)


Regards,
  - Graeme -

```

## Junio C Hamano, 2009-06-30 07:46

Subject: Re: Official git repository history?
Message-ID: <7vhbxy9n9q.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vhbxy9n9q.fsf%40alter.siamese.dyndns.org
In-Reply-To: <h2aj43$ab0$1@ger.gmane.org>

```
Graeme Geldenhuys <graemeg@gmail.com> writes:

> So how did Linus get those first few commits / history into the official
> git repository? Was the first 8 C source code files already enough to
> work as a basic git repository?

He did it very well, and Yes.

You would need to check out an old revision, say v0.99, and look at the
original tutorial by Linus in Documentation/tutorial.txt.  It was since
rewritten into Documentation/gittutorial-2.txt but the original command
sequence Linus used from the initial version of git was replaced with
their more modern variants (e.g. Linus used "git-update-cache --add" but
the updated tutorial talks about "git add" that did not exist nor Linus
needed to have back then).

```

## Graeme Geldenhuys, 2009-06-30 08:09

Subject: Re: Official git repository history?
Message-ID: <h2chap$i27$1@ger.gmane.org>
URL: https://gitlist.dev/e/h2chap%24i27%241%40ger.gmane.org
In-Reply-To: <7vhbxy9n9q.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano wrote:
>> git repository? Was the first 8 C source code files already enough to
>> work as a basic git repository?
> 
> He did it very well, and Yes.

Wow, very impressive! Such a little code, yet already workable.


> You would need to check out an old revision, say v0.99, and look at the
> original tutorial by Linus in Documentation/tutorial.txt.  It was since


Last night I played further with the first ever commit. I managed to figure out the sequence in which commands had to be run. Kudos to the people that decided the make the commands easier in the later versions. :-)

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ 

```

## Andreas Ericsson, 2009-06-30 09:33

Subject: Re: Official git repository history?
Message-ID: <4A49DBE0.5060500@op5.se>
URL: https://gitlist.dev/e/4A49DBE0.5060500%40op5.se
In-Reply-To: <h2chap$i27$1@ger.gmane.org>

```
Graeme Geldenhuys wrote:
> Junio C Hamano wrote:
>>> git repository? Was the first 8 C source code files already enough to
>>> work as a basic git repository?
>> He did it very well, and Yes.
> 
> Wow, very impressive! Such a little code, yet already workable.
> 

Indeed. The git concept is an extremely simple one. The complexity comes
when you start optimizing it, really. Producing packfiles today requires
more code than made up all of git at its inception. Simple models can
easily be extended with complex algorithms, while complex models generally
require the simplest possible algorithm to work reliably. This design
lesson has served me well over the years.

> 
>> You would need to check out an old revision, say v0.99, and look at the
>> original tutorial by Linus in Documentation/tutorial.txt.  It was since
> 
> 
> Last night I played further with the first ever commit. I managed to
> figure out the sequence in which commands had to be run. Kudos to the
> people that decided the make the commands easier in the later versions. :-)
> 

Cheers. There's about 650 of us, so that's a lot of kudos ;-)

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

```

## Graeme Geldenhuys, 2009-06-30 09:39

Subject: Re: Official git repository history?
Message-ID: <h2cmkf$8pp$1@ger.gmane.org>
URL: https://gitlist.dev/e/h2cmkf%248pp%241%40ger.gmane.org
In-Reply-To: <4A49DBE0.5060500@op5.se>

```
Andreas Ericsson wrote:
> 
> Indeed. The git concept is an extremely simple one. The complexity comes

That is what amazed me the most. The concept IS truly simple.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

```

## Linus Torvalds, 2009-06-30 19:01

Subject: Re: Official git repository history?
Message-ID: <alpine.LFD.2.01.0906301058100.3605@localhost.localdomain>
URL: https://gitlist.dev/e/alpine.LFD.2.01.0906301058100.3605%40localhost.localdomain
In-Reply-To: <h2chap$i27$1@ger.gmane.org>

```


On Tue, 30 Jun 2009, Graeme Geldenhuys wrote:
> 
> Last night I played further with the first ever commit. I managed to 
> figure out the sequence in which commands had to be run. Kudos to the 
> people that decided the make the commands easier in the later versions. 
> :-)

Well, in all fairness, even _I_ didn't enjoy using it at that stage. It 
was all very hacky, with the manual "write-tree" + "commit-tree" stuff. 

But it's interesting to look at the timing:

 - Start early April

 - First git commit April 7

 - first kernel commit April 16

 - first merge: April 17 (14:47)

The time of that first merge is interesting, because it's worth 
correlating the git tree with the early kernel tree there. What preceded 
that first merge? Yup: the git 'merge-base' program was written a couple 
of hours before.

But the really interesting thing (to me) is that while I had tools/scripts 
to apply patches and to do relatively fancy tthings like merges etc 
basically just a couple of weeks after starting, it's telling just how 
long it took for something as simple as "git commit" to happen: May 30.

Never mind that it was actually just a totally trivial shell script, 
literally just a few lines. So it wasn't about the technology, it's very 
much a sign of what mattered to me.

I mean, I had a tool to create merges with conflicts back in mid-april! 
But something as simple as just committing the existing tree? No tools, 
you had to do that whole 

	git-update-index ..
	commit=$(git-commit-tree $(git-write-tree) -p HEAD)
	.. type in message ..
	echo $commit > .git/HEAD

song-and-dance by hand.

Or use cogito, which explains the success of early wrappers - other people 
had rather different priorities than I did.

			Linus

```

## Daniel Barkalow, 2009-06-30 23:06

Subject: Re: Official git repository history?
Message-ID: <alpine.LNX.2.00.0906301842430.2147@iabervon.org>
URL: https://gitlist.dev/e/alpine.LNX.2.00.0906301842430.2147%40iabervon.org
In-Reply-To: <h2aj43$ab0$1@ger.gmane.org>

```
On Mon, 29 Jun 2009, Graeme Geldenhuys wrote:

> Hi,
> 
> Yesterday I cloned the official git repository and for fun I checkout
> out the first ever commit "e83c5163316f..."
> 
> So how did Linus get those first few commits / history into the official
> git repository? Was the first 8 C source code files already enough to
> work as a basic git repository?  Or did he use another revision control
> system and then later imported that history into the official git
> repository (when git was working)?
> 
> Just curious?  :-)

Take a look at http://lkml.org/lkml/2005/4/8/9 and the earliest commits in 
the git.git repository; the directory he mentions had a non-bare 
repository hosting the commits up to that point, which would have been 
e497ea2a9b6c378f01d092c210af20cbee762475.

	-Daniel
*This .sig left intentionally blank*

```

## Graeme Geldenhuys, 2009-07-01 08:08

Subject: Re: Official git repository history?
Message-ID: <h2f5l7$b54$1@ger.gmane.org>
URL: https://gitlist.dev/e/h2f5l7%24b54%241%40ger.gmane.org
In-Reply-To: <alpine.LFD.2.01.0906301058100.3605@localhost.localdomain>

```
Linus Torvalds wrote:
> I mean, I had a tool to create merges with conflicts back in mid-april! 
> But something as simple as just committing the existing tree? No tools, 
> you had to do that whole .... song-and-dance by hand.


Very true!  It's the workings of a technical mind. ;-)  It's all about priorities.



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

```
