gitster (Junio C Hamano) (gitster) wrote,
gitster (Junio C Hamano)
gitster

  • Music:

FLOSS weekly #19 follow-up (3)

"The very basic structure and idea behind git has not changed since Linus wrote the initial implementation".

Well, while that is not untrue, that statement itself may lead to confusion unless clarified.

Linus did not just write the whole thing and left.  He still visits the git mailing list and offers his insights on issues that matter.

By the time the basic structure as we currently know has stabilized, we had help from literally dozens of contributors to add many things on top of the very original version:
  • We did not have tag objects, and annotated or signed tags;
  • We did not have packfiles, which gives the modern git its performance and small disk footprint;
  • The tree object originally was a flat file structure; it was later changed to hierarchical data structure, which allows us to scale much better;
  • We did not envision that multiple branches in a single repository would turn out to be such a useful way to work, and did not have support for switching branches;
  • We had a way to record merges, but did not have a way to compute common ancestors nor merge results in an automated way.
  • We did not have the set operation between objects given commit ranges.  This is essential part of modern git that transfers objects between repositories efficiently.
  • We did not have textual patch output, nor a way to apply a patch and produce commit from it.
It still is amazing that all of these were done without having to go back to the drawing board.  It shows how sound the initial conceptual design was.
Tags: git
Subscribe

  • For the last time...

    I was asked by a few people where my blog moved to, so here it is.

  • Sorry, LiveJournal, git bye and thanks for all the spam

    I've been blogging elsewhere without announcing where it is to the public. The primary reason I left here is because the pages seem to get too…

  • Git 1.7.5

    The cycle took a bit longer than I would have liked (83 days), but finally I tagged the latest release v1.7.5 with 547 changes from 77…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments