threads / discuss / 19977

Official git repository history?

Subject: Official git repository history?

## tl;dr

8 messages between Jun 29, 2009 and Jul 1, 2009.

replies: 7people: 5as markdown or json

Graeme Geldenhuys· Jun 29, 2009, 14:27 UTC · lore
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· Jun 30, 2009, 07:46 UTC · re: Graeme Geldenhuys · lore

Re: Official git repository history?

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· Jun 30, 2009, 08:09 UTC · re: Junio C Hamano · lore

Re: Official git repository history?

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· Jun 30, 2009, 09:33 UTC · re: Graeme Geldenhuys · lore

Re: Official git repository history?

Graeme Geldenhuys wrote:
Show 7 quoted lines
> 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.

Show 9 quoted lines
> 
>> 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· Jun 30, 2009, 09:39 UTC · re: Andreas Ericsson · lore

Re: Official git repository history?

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· Jun 30, 2009, 19:01 UTC · re: Graeme Geldenhuys · lore

Re: Official git repository history?

On Tue, 30 Jun 2009, Graeme Geldenhuys wrote:
Show 5 quoted lines
> 
> 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
Graeme Geldenhuys· Jul 1, 2009, 08:08 UTC · re: Linus Torvalds · lore

Re: Official git repository history?

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/
Daniel Barkalow· Jun 30, 2009, 23:06 UTC · re: Graeme Geldenhuys · lore

Re: Official git repository history?

On Mon, 29 Jun 2009, Graeme Geldenhuys wrote:
Show 12 quoted lines
> 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*

← back to recent threads