git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Jon Loeliger <jdl@freescale.com>
Cc: git@vger.kernel.org
Subject: Re: Some ASCII Art
Date: Thu, 06 Oct 2005 13:38:10 -0700	[thread overview]
Message-ID: <7v8xx67559.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <1128621923.29904.30.camel@cashmere.sps.mot.com> (Jon Loeliger's message of "Thu, 06 Oct 2005 13:05:24 -0500")

Jon Loeliger <jdl@freescale.com> writes:

> Fundamental Git Index Operations
> Git Index Operations

These two look almost the same.

I find the label "commit-tree" on index -> odb in the second
picture a bit misleading.  "commit-tree" takes a tree and zero
or more commit objects to create a new commit object, so it
works solely inside odb.

It is good that you mention that "read-tree -u" form updates
working tree in the second picture.  In the same spirit, you
might also want to mention that "checkout-index -u" updates the
index (i.e. matches the stat information) in the same picture.

Diff drawing looks good.  If you are aiming for completeness,
diff-stages is lacking -- it compares between stages in the
index file.  But diff-stages is really a specialized operation
whose usefulness is still unproven, so not drawing it for the
sake of simplicity is also OK.

> Commit DAG Revision Naming
> ==========================
>
> Both node B and C are a commit parents of node A.

I assume that parents are left to right in this picture, that
is, B's first parent is D, second E, and third F.

>
>     G   H   I   J
>      \ /     \ /
>       D   E   F
>        \  |  /
>         \ | /
>          \|/
>           B     C
>            \   /
>             \ /
>              A
>
>
>     A = rev    = rev^0
>     B = rev^   = rev^1     = rev~1
>     D = rev^^  = rev^1^1   = rev~2
>     G = rev^^^ = rev^1^1^1 = rev~3

> Is there a way to name node C, E, F, H, I or J?

C = A^2
E = B^2 = A^^2
F = B^3 = A^^3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2

They look like line noise ;-)

> Is A also called rev~0?

If you are talking about only commit objects, then REV^0 is
always the same as REV.  You could write REV^0^0^0^0 if you
want but that is rather pointless ;-).

  reply	other threads:[~2005-10-06 20:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-06 18:05 Some ASCII Art Jon Loeliger
2005-10-06 20:38 ` Junio C Hamano [this message]
2005-10-07 19:35   ` Jon Loeliger
2005-10-07 19:42     ` Junio C Hamano

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=7v8xx67559.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=jdl@freescale.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).