git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: How would Git chapter look like in "The Architecture of Open Source Applications"?
Date: Sun, 29 May 2011 23:40:45 -0400	[thread overview]
Message-ID: <20110530034044.GC27691@sigill.intra.peff.net> (raw)
In-Reply-To: <201105281417.39883.jnareb@gmail.com>

On Sat, May 28, 2011 at 02:17:38PM +0200, Jakub Narebski wrote:

> Among covered programs is Mercurial (chapter by Dirkjan Ochtman)...
> but unfortunately no Git (they probably thought that one DVCS is enough).
> 
> How would such chapter on Git look like?  Authors of this book
> encourage (among others) to write new chapters.

I just skimmed the Mercurial chapter, but they do cover a fair bit of
general DVCS architecture. For git, I would guess a good approach would
be to describe the data structures (i.e., content-addressable object
database, DAG of commits, refs storing branches and tags), as everything
else falls out from there. Most of the basic commands can be explained
as "do some simple operation to the history graph or object db" and the
more complex commands are compositions of the simple ones. So the
architecture is really about having a data structure that represents the
problem, exposing it to the user, and then building some niceties around
the basic data structure operations.

Of course that's just my perspective. Linus might have written something
totally different. :)

-Peff

  reply	other threads:[~2011-05-30  3:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-28 12:17 How would Git chapter look like in "The Architecture of Open Source Applications"? Jakub Narebski
2011-05-30  3:40 ` Jeff King [this message]
2011-05-30 10:30   ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110530034044.GC27691@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).