From: Jon Loeliger <jdl@freescale.com>
To: Git List <git@vger.kernel.org>
Subject: Some ASCII Art
Date: Thu, 06 Oct 2005 13:05:24 -0500 [thread overview]
Message-ID: <1128621923.29904.30.camel@cashmere.sps.mot.com> (raw)
Guys,
I tend to be a visual learner. So I made up some ASCII
art and annotated it with some Git operations and stuff.
First, I'd love to have any feedback on these drawings,
especially if it actually misrepresents things. If there
are obvious additions to these, that'd be nice to know too.
Second, if you think they are generally useful, please
feel free to add them to whatever documentation seems
appropriate. (If you want a patch to a certain file
and a Sign-Off, let me know!)
Thanks,
jdl
Fundamental Git Index Operations
================================
+-----------+
| Object DB |
| Backing |
| Store |
+-----------+
^
write-tree | |
tree obj | |
| | read-tree
| | tree obj
V
+-----------+
| Index |
| "cache" |
+-----------+
^
update-index | |
blob obj | |
| | checkout-index
| | blob obj
V
+-----------+
| Working |
| Directory |
+-----------+
Git Index Operations
====================
+-----------+
| Object DB |
| Backing |
| Store | -----------+
+-----------+ |
^ |
commit-tree | | |
commit obj | | read-tree -m |
| | tree obj |
| | |
V |
+-----------+ |
| Index | <- - - - - +
| "cache" | - - - - - >+
+-----------+ |
^ |
| |
update-index | read-tree -m -u |
blob obj | tree obj |
| |
|
+-----------+ |
| Working |<-----------+
| Directory |
+-----------+
Git Diff Types
==============
diff-tree
+----+
| |
| |
V V
+-----------+
| Object DB |
| Backing |
| Store |
+-----------+
^ ^
| |
| | diff-index --cached
| |
diff-index | V
| +-----------+
| | Index |
| | "cache" |
| +-----------+
| ^
| |
| | diff-files
| |
V V
+-----------+
| Working |
| Directory |
+-----------+
Commit DAG Revision Naming
==========================
Both node B and C are a commit parents of node A.
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?
Is A also called rev~0?
next reply other threads:[~2005-10-06 18:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-06 18:05 Jon Loeliger [this message]
2005-10-06 20:38 ` Some ASCII Art Junio C Hamano
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=1128621923.29904.30.camel@cashmere.sps.mot.com \
--to=jdl@freescale.com \
--cc=git@vger.kernel.org \
/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