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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.