From: "J. Bruce Fields" <bfields@citi.umich.edu>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org, "J. Bruce Fields" <bfields@citi.umich.edu>
Subject: [PATCH 5/6] user-manual: fix rendering of history diagrams
Date: Sat, 10 Mar 2007 23:35:30 -0500 [thread overview]
Message-ID: <1173587735398-git-send-email-bfields@citi.umich.edu> (raw)
In-Reply-To: <11735877343565-git-send-email-bfields@citi.umich.edu>
From: J. Bruce Fields <bfields@citi.umich.edu>
Asciidoc appears to interpret a backslash at the end of a line as
escaping the end-of-line character, which screws up the display of
history diagrams like
o--o--o
\
o--...
The obvious fix (replacing "\" by "\\") doesn't work. The only
workaround I've found is to include all such diagrams in a LiteralBlock.
Asciidoc claims that should be equivalent to a literal paragraph, so I
don't understand why the difference--perhaps it's an asciidoc bug.
Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
---
Documentation/user-manual.txt | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index 1e151b4..0919574 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -437,11 +437,14 @@ We will sometimes represent git history using diagrams like the one
below. Commits are shown as "o", and the links between them with
lines drawn with - / and \. Time goes left to right:
+
+................................................
o--o--o <-- Branch A
/
o--o--o <-- master
\
o--o--o <-- Branch B
+................................................
If we need to talk about a particular commit, the character "o" may
be replaced with another letter or number.
@@ -1928,25 +1931,29 @@ $ git commit
You have performed no merges into mywork, so it is just a simple linear
sequence of patches on top of "origin":
-
+................................................
o--o--o <-- origin
\
o--o--o <-- mywork
+................................................
Some more interesting work has been done in the upstream project, and
"origin" has advanced:
+................................................
o--o--O--o--o--o <-- origin
\
a--b--c <-- mywork
+................................................
At this point, you could use "pull" to merge your changes back in;
the result would create a new merge commit, like this:
-
+................................................
o--o--O--o--o--o <-- origin
\ \
a--b--c--m <-- mywork
+................................................
However, if you prefer to keep the history in mywork a simple series of
commits without any merges, you may instead choose to use
@@ -1963,9 +1970,11 @@ point at the latest version of origin, then apply each of the saved
patches to the new mywork. The result will look like:
+................................................
o--o--O--o--o--o <-- origin
\
a'--b'--c' <-- mywork
+................................................
In the process, it may discover conflicts. In that case it will stop
and allow you to fix the conflicts; after fixing conflicts, use "git
@@ -2073,24 +2082,30 @@ The primary problem with rewriting the history of a branch has to do
with merging. Suppose somebody fetches your branch and merges it into
their branch, with a result something like this:
+................................................
o--o--O--o--o--o <-- origin
\ \
t--t--t--m <-- their branch:
+................................................
Then suppose you modify the last three commits:
+................................................
o--o--o <-- new head of origin
/
o--o--O--o--o--o <-- old head of origin
+................................................
If we examined all this history together in one repository, it will
look like:
+................................................
o--o--o <-- new head of origin
/
o--o--O--o--o--o <-- old head of origin
\ \
t--t--t--m <-- their branch:
+................................................
Git has no way of knowing that the new head is an updated version of
the old head; it treats this situation exactly the same as it would if
@@ -2151,9 +2166,11 @@ commit. Git calls this process a "fast forward".
A fast forward looks something like this:
+................................................
o--o--o--o <-- old head of the branch
\
o--o--o <-- new head of the branch
+................................................
In some cases it is possible that the new head will *not* actually be
@@ -2161,11 +2178,11 @@ a descendant of the old head. For example, the developer may have
realized she made a serious mistake, and decided to backtrack,
resulting in a situation like:
+................................................
o--o--o--o--a--b <-- old head of the branch
\
o--o--o <-- new head of the branch
-
-
+................................................
In this case, "git fetch" will fail, and print out a warning.
--
1.5.0.gb75812-dirty
next prev parent reply other threads:[~2007-03-11 4:36 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 21:59 Documentation (mostly user manual) patches J. Bruce Fields
2007-03-04 21:59 ` [PATCH] Documentation: mention module option to git-cvsimport J. Bruce Fields
2007-03-04 21:59 ` [PATCH] user-manual: reset to ORIG_HEAD not HEAD to undo merge J. Bruce Fields
2007-03-04 21:59 ` [PATCH] user-manual: ensure generated manual references stylesheet J. Bruce Fields
2007-03-04 21:59 ` [PATCH] user-manual: insert earlier of mention content-addressable architecture J. Bruce Fields
2007-03-04 21:59 ` [PATCH] user-manual: how to replace commits older than most recent J. Bruce Fields
2007-03-04 21:59 ` [PATCH] user-manual: more detailed merge discussion J. Bruce Fields
2007-03-04 21:59 ` [PATCH] glossary: Add definitions for dangling and unreachable objects J. Bruce Fields
2007-03-05 0:45 ` Yasushi SHOJI
2007-03-16 12:44 ` [PATCH] user-manual: ensure generated manual references stylesheet Robert Pluim
2007-03-16 14:24 ` J. Bruce Fields
[not found] ` <7C0AC446-57CA-480B-A14E-1E861E2FCBA7@silverinsanity.com>
2007-03-16 15:36 ` J. Bruce Fields
[not found] ` <7DA766E4-D88F-4248-BD29-1E0B403BF0BE@silverinsanity.com>
2007-03-16 17:02 ` J. Bruce Fields
2007-03-05 3:14 ` Documentation (mostly user manual) patches Junio C Hamano
2007-03-05 18:38 ` J. Bruce Fields
2007-03-11 4:35 ` J. Bruce Fields
2007-03-11 4:35 ` [PATCH 1/6] glossary: fix overoptimistic automatic linking of defined terms J. Bruce Fields
2007-03-11 4:35 ` [PATCH 2/6] user-manual: fix inconsistent example J. Bruce Fields
2007-03-11 4:35 ` [PATCH 3/6] user-manual: fix inconsistent use of pull and merge J. Bruce Fields
2007-03-11 4:35 ` [PATCH 4/6] user-manual: fix missing colon in git-show example J. Bruce Fields
2007-03-11 4:35 ` J. Bruce Fields [this message]
2007-03-11 4:35 ` [PATCH 6/6] user-manual: install user manual stylesheet with other web documents J. Bruce Fields
2007-03-11 4:39 ` [PATCH 2/6] user-manual: fix inconsistent example J. Bruce Fields
2007-03-13 19:31 ` Ramsay Jones
2007-03-14 23:19 ` J. Bruce Fields
2007-03-11 5:35 ` Documentation (mostly user manual) patches Junio C Hamano
2007-03-07 20:19 ` Ramsay Jones
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=1173587735398-git-send-email-bfields@citi.umich.edu \
--to=bfields@citi.umich.edu \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/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).