From: jdl@freescale.com
To: git@vger.kernel.org
Subject: New ASCII Art
Date: Wed, 02 Nov 2005 17:40:30 -0600 [thread overview]
Message-ID: <E1EXSDW-0005aC-RG@jdl.com> (raw)
Junio,
I see my name over on the TODO list:
31 Documentation
32 -------------
33
34 * Help Jon Loeliger to find place in the documentation to place
35 his drawing.
So, I have updated drawings for consideration.
See if you buy these. And if so, let's ponder
where they might go. Then I'll patch 'em in...
I now have four ASCII Art drawings:
- Fundamental git operations
- Git merge operations
- Git diff types
- Commit DAG Revision Naming
jdl
Fundamental Git Index Operations
================================
commit-tree
commit obj
+----+
| |
| |
V V
+-----------+
| Object DB |
| Backing |
| Store |
+-----------+
^
write-tree | |
tree obj | |
| | read-tree
| | tree obj
V
+-----------+
| Index |
| "cache" |
+-----------+
update-index ^
blob obj | |
| |
checkout-index -u | | checkout-index
stat | | blob obj
V
+-----------+
| Working |
| Directory |
+-----------+
Git Merge Operations
====================
+-----------+
| Object DB |
| Backing |
| Store | -------+
+-----------+ |
|
read-tree -m |
+-----+ tree obj |
|patch| |
+-----+ +-----------+ |
| | Index | <- - - +
+------------->| "cache" | - - - >+
git-apply --index +-----------+ |
|
|
read-tree -m -u |
+-----+ tree obj |
|patch| |
+-----+ +-----------+ |
| | Working |<-------+
+-------------->| Directory |
git-apply +-----------+
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 commit node A.
Parent commits are ordered left-to-right.
G H I J
\ / \ /
D E F
\ | /
\ | /
\|/
B C
\ /
\ /
A
A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = 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
Fixed-point operations:
A^0 = A^{commit}
A^{tree}
next reply other threads:[~2005-11-02 23:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-02 23:40 jdl [this message]
2005-11-03 20:30 ` New ASCII Art Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2005-11-04 15:14 Jon Loeliger
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=E1EXSDW-0005aC-RG@jdl.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;
as well as URLs for NNTP newsgroup(s).