All of lore.kernel.org
 help / color / mirror / Atom feed
* Official git repository history?
@ 2009-06-29 14:27 Graeme Geldenhuys
  2009-06-30  7:46 ` Junio C Hamano
  2009-06-30 23:06 ` Daniel Barkalow
  0 siblings, 2 replies; 8+ messages in thread
From: Graeme Geldenhuys @ 2009-06-29 14:27 UTC (permalink / raw)
  To: git

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 -

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-29 14:27 Official git repository history? Graeme Geldenhuys
@ 2009-06-30  7:46 ` Junio C Hamano
  2009-06-30  8:09   ` Graeme Geldenhuys
  2009-06-30 23:06 ` Daniel Barkalow
  1 sibling, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2009-06-30  7:46 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git

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).

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-30  7:46 ` Junio C Hamano
@ 2009-06-30  8:09   ` Graeme Geldenhuys
  2009-06-30  9:33     ` Andreas Ericsson
  2009-06-30 19:01     ` Linus Torvalds
  0 siblings, 2 replies; 8+ messages in thread
From: Graeme Geldenhuys @ 2009-06-30  8:09 UTC (permalink / raw)
  To: git

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/ 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-30  8:09   ` Graeme Geldenhuys
@ 2009-06-30  9:33     ` Andreas Ericsson
  2009-06-30  9:39       ` Graeme Geldenhuys
  2009-06-30 19:01     ` Linus Torvalds
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Ericsson @ 2009-06-30  9:33 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git

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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-30  9:33     ` Andreas Ericsson
@ 2009-06-30  9:39       ` Graeme Geldenhuys
  0 siblings, 0 replies; 8+ messages in thread
From: Graeme Geldenhuys @ 2009-06-30  9:39 UTC (permalink / raw)
  To: git

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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-30  8:09   ` Graeme Geldenhuys
  2009-06-30  9:33     ` Andreas Ericsson
@ 2009-06-30 19:01     ` Linus Torvalds
  2009-07-01  8:08       ` Graeme Geldenhuys
  1 sibling, 1 reply; 8+ messages in thread
From: Linus Torvalds @ 2009-06-30 19:01 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git



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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-29 14:27 Official git repository history? Graeme Geldenhuys
  2009-06-30  7:46 ` Junio C Hamano
@ 2009-06-30 23:06 ` Daniel Barkalow
  1 sibling, 0 replies; 8+ messages in thread
From: Daniel Barkalow @ 2009-06-30 23:06 UTC (permalink / raw)
  To: Graeme Geldenhuys; +Cc: git

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*

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Official git repository history?
  2009-06-30 19:01     ` Linus Torvalds
@ 2009-07-01  8:08       ` Graeme Geldenhuys
  0 siblings, 0 replies; 8+ messages in thread
From: Graeme Geldenhuys @ 2009-07-01  8:08 UTC (permalink / raw)
  To: git

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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-07-01  8:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-29 14:27 Official git repository history? Graeme Geldenhuys
2009-06-30  7:46 ` Junio C Hamano
2009-06-30  8:09   ` Graeme Geldenhuys
2009-06-30  9:33     ` Andreas Ericsson
2009-06-30  9:39       ` Graeme Geldenhuys
2009-06-30 19:01     ` Linus Torvalds
2009-07-01  8:08       ` Graeme Geldenhuys
2009-06-30 23:06 ` Daniel Barkalow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.