Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint

* 'maint' of git://linux-nfs.org/~bfields/git:
  user-manual: install user manual stylesheet with other web documents
  user-manual: fix rendering of history diagrams
  user-manual: fix missing colon in git-show example
  user-manual: fix inconsistent use of pull and merge
  user-manual: fix inconsistent example
  glossary: fix overoptimistic automatic linking of defined terms
This commit is contained in:
Junio C Hamano
2007-03-10 21:47:01 -08:00
3 changed files with 29 additions and 20 deletions

View File

@ -2,7 +2,7 @@
T="$1" T="$1"
for h in *.html *.txt howto/*.txt howto/*.html RelNotes-*.txt for h in *.html *.txt howto/*.txt howto/*.html RelNotes-*.txt *.css
do do
if test -f "$T/$h" && if test -f "$T/$h" &&
diff -u -I'Last updated [0-9][0-9]-[A-Z][a-z][a-z]-' "$T/$h" "$h" diff -u -I'Last updated [0-9][0-9]-[A-Z][a-z][a-z]-' "$T/$h" "$h"

View File

@ -48,7 +48,7 @@ This list is sorted alphabetically:
'; ';
@keys=sort {uc($a) cmp uc($b)} keys %terms; @keys=sort {uc($a) cmp uc($b)} keys %terms;
$pattern='(\b(?<!link:git-)'.join('\b|\b(?<!link:git-)',reverse @keys).'\b)'; $pattern='(\b(?<!link:git-)'.join('\b|\b(?<!-)',reverse @keys).'\b)';
foreach $key (@keys) { foreach $key (@keys) {
$terms{$key}=~s/$pattern/sprintf "<<ref_".no_spaces($1).",$1>>";/eg; $terms{$key}=~s/$pattern/sprintf "<<ref_".no_spaces($1).",$1>>";/eg;
print '[[ref_'.no_spaces($key).']]'.$key."::\n" print '[[ref_'.no_spaces($key).']]'.$key."::\n"

View File

@ -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 below. Commits are shown as "o", and the links between them with
lines drawn with - / and \. Time goes left to right: lines drawn with - / and \. Time goes left to right:
................................................
o--o--o <-- Branch A o--o--o <-- Branch A
/ /
o--o--o <-- master o--o--o <-- master
\ \
o--o--o <-- Branch B o--o--o <-- Branch B
................................................
If we need to talk about a particular commit, the character "o" may If we need to talk about a particular commit, the character "o" may
be replaced with another letter or number. be replaced with another letter or number.
@ -601,8 +604,8 @@ a new stanza:
$ cat .git/config $ cat .git/config
... ...
[remote "linux-nfs"] [remote "linux-nfs"]
url = git://linux-nfs.org/~bfields/git.git url = git://linux-nfs.org/pub/nfs-2.6.git
fetch = +refs/heads/*:refs/remotes/linux-nfs-read/* fetch = +refs/heads/*:refs/remotes/linux-nfs/*
... ...
------------------------------------------------- -------------------------------------------------
@ -1133,17 +1136,9 @@ modified in two different ways in the remote branch and the local
branch--then you are warned; the output may look something like this: branch--then you are warned; the output may look something like this:
------------------------------------------------- -------------------------------------------------
$ git pull . next $ git merge next
Trying really trivial in-index merge... 100% (4/4) done
fatal: Merge requires file-level merging Auto-merged file.txt
Nope.
Merging HEAD with 77976da35a11db4580b80ae27e8d65caf5208086
Merging:
15e2162 world
77976da goodbye
found 1 common ancestor(s):
d122ed4 initial
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result. Automatic merge failed; fix conflicts and then commit the result.
------------------------------------------------- -------------------------------------------------
@ -1439,7 +1434,7 @@ modifying the working directory, you can do that with
gitlink:git-show[1]: gitlink:git-show[1]:
------------------------------------------------- -------------------------------------------------
$ git show HEAD^ path/to/file $ git show HEAD^:path/to/file
------------------------------------------------- -------------------------------------------------
which will display the given version of the file. which will display the given version of the file.
@ -1936,25 +1931,29 @@ $ git commit
You have performed no merges into mywork, so it is just a simple linear You have performed no merges into mywork, so it is just a simple linear
sequence of patches on top of "origin": sequence of patches on top of "origin":
................................................
o--o--o <-- origin o--o--o <-- origin
\ \
o--o--o <-- mywork o--o--o <-- mywork
................................................
Some more interesting work has been done in the upstream project, and Some more interesting work has been done in the upstream project, and
"origin" has advanced: "origin" has advanced:
................................................
o--o--O--o--o--o <-- origin o--o--O--o--o--o <-- origin
\ \
a--b--c <-- mywork a--b--c <-- mywork
................................................
At this point, you could use "pull" to merge your changes back in; At this point, you could use "pull" to merge your changes back in;
the result would create a new merge commit, like this: the result would create a new merge commit, like this:
................................................
o--o--O--o--o--o <-- origin o--o--O--o--o--o <-- origin
\ \ \ \
a--b--c--m <-- mywork a--b--c--m <-- mywork
................................................
However, if you prefer to keep the history in mywork a simple series of However, if you prefer to keep the history in mywork a simple series of
commits without any merges, you may instead choose to use commits without any merges, you may instead choose to use
@ -1971,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: patches to the new mywork. The result will look like:
................................................
o--o--O--o--o--o <-- origin o--o--O--o--o--o <-- origin
\ \
a'--b'--c' <-- mywork a'--b'--c' <-- mywork
................................................
In the process, it may discover conflicts. In that case it will stop 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 and allow you to fix the conflicts; after fixing conflicts, use "git
@ -2081,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 with merging. Suppose somebody fetches your branch and merges it into
their branch, with a result something like this: their branch, with a result something like this:
................................................
o--o--O--o--o--o <-- origin o--o--O--o--o--o <-- origin
\ \ \ \
t--t--t--m <-- their branch: t--t--t--m <-- their branch:
................................................
Then suppose you modify the last three commits: Then suppose you modify the last three commits:
................................................
o--o--o <-- new head of origin o--o--o <-- new head of origin
/ /
o--o--O--o--o--o <-- old 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 If we examined all this history together in one repository, it will
look like: look like:
................................................
o--o--o <-- new head of origin o--o--o <-- new head of origin
/ /
o--o--O--o--o--o <-- old head of origin o--o--O--o--o--o <-- old head of origin
\ \ \ \
t--t--t--m <-- their branch: t--t--t--m <-- their branch:
................................................
Git has no way of knowing that the new head is an updated version of 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 the old head; it treats this situation exactly the same as it would if
@ -2159,9 +2166,11 @@ commit. Git calls this process a "fast forward".
A fast forward looks something like this: A fast forward looks something like this:
................................................
o--o--o--o <-- old head of the branch o--o--o--o <-- old head of the branch
\ \
o--o--o <-- new 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 In some cases it is possible that the new head will *not* actually be
@ -2169,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, realized she made a serious mistake, and decided to backtrack,
resulting in a situation like: resulting in a situation like:
................................................
o--o--o--o--a--b <-- old head of the branch o--o--o--o--a--b <-- old head of the branch
\ \
o--o--o <-- new head of the branch o--o--o <-- new head of the branch
................................................
In this case, "git fetch" will fail, and print out a warning. In this case, "git fetch" will fail, and print out a warning.