summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/CodingGuidelines14
-rw-r--r--Documentation/RelNotes/1.9.2.txt67
-rw-r--r--Documentation/RelNotes/1.9.3.txt21
-rw-r--r--Documentation/RelNotes/1.9.4.txt16
-rw-r--r--Documentation/RelNotes/2.0.0.txt161
-rw-r--r--Documentation/config.txt15
-rw-r--r--Documentation/diff-generate-patch.txt2
-rw-r--r--Documentation/diff-options.txt2
-rw-r--r--Documentation/everyday.txt2
-rw-r--r--Documentation/git-add.txt4
-rw-r--r--Documentation/git-cherry-pick.txt6
-rw-r--r--Documentation/git-commit.txt2
-rw-r--r--Documentation/git-count-objects.txt4
-rw-r--r--Documentation/git-diff.txt4
-rw-r--r--Documentation/git-gc.txt3
-rw-r--r--Documentation/git-grep.txt3
-rw-r--r--Documentation/git-http-backend.txt2
-rw-r--r--Documentation/git-merge.txt2
-rw-r--r--Documentation/git-notes.txt2
-rw-r--r--Documentation/git-prune.txt2
-rw-r--r--Documentation/git-push.txt2
-rw-r--r--Documentation/git-read-tree.txt2
-rw-r--r--Documentation/git-reset.txt6
-rw-r--r--Documentation/git-rev-parse.txt18
-rw-r--r--Documentation/git-revert.txt6
-rw-r--r--Documentation/git-shell.txt2
-rw-r--r--Documentation/git-show-branch.txt2
-rw-r--r--Documentation/git-show-ref.txt2
-rw-r--r--Documentation/git-submodule.txt34
-rw-r--r--Documentation/git-svn.txt23
-rw-r--r--Documentation/git-update-index.txt8
-rw-r--r--Documentation/git.txt10
-rw-r--r--Documentation/gitmodules.txt4
-rwxr-xr-xDocumentation/howto-index.sh12
-rw-r--r--Documentation/howto/rebase-from-internal-branch.txt2
-rw-r--r--Documentation/howto/revert-a-faulty-merge.txt4
-rw-r--r--Documentation/howto/revert-branch-rebase.txt2
-rwxr-xr-xDocumentation/install-webdoc.sh6
-rw-r--r--Documentation/merge-options.txt15
-rw-r--r--Documentation/pretty-formats.txt2
-rw-r--r--Documentation/pretty-options.txt2
-rw-r--r--Documentation/rev-list-options.txt9
-rw-r--r--Documentation/technical/api-gitattributes.txt2
-rw-r--r--Documentation/technical/api-hashmap.txt1
-rw-r--r--Documentation/technical/api-parse-options.txt4
-rw-r--r--Documentation/technical/pack-protocol.txt8
-rw-r--r--Documentation/technical/protocol-common.txt2
-rw-r--r--Documentation/user-manual.txt2
48 files changed, 345 insertions, 181 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index ed432a80ca..f424dbd75c 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -91,13 +91,13 @@ For shell scripts specifically (not exhaustive):
E.g.: my_function () {
- As to use of grep, stick to a subset of BRE (namely, no \{m,n\},
- [::], [==], nor [..]) for portability.
+ [::], [==], or [..]) for portability.
- We do not use \{m,n\};
- We do not use -E;
- - We do not use ? nor + (which are \{0,1\} and \{1,\}
+ - We do not use ? or + (which are \{0,1\} and \{1,\}
respectively in BRE) but that goes without saying as these
are ERE elements not BRE (note that \? and \+ are not even part
of BRE -- making them accessible from BRE is a GNU extension).
@@ -164,6 +164,16 @@ For C programs:
* multi-line comment.
*/
+ Note however that a comment that explains a translatable string to
+ translators uses a convention of starting with a magic token
+ "TRANSLATORS: " immediately after the opening delimiter, even when
+ it spans multiple lines. We do not add an asterisk at the beginning
+ of each line, either. E.g.
+
+ /* TRANSLATORS: here is a comment that explains the string
+ to be translated, that follows immediately after it */
+ _("Here is a translatable string explained by the above.");
+
- Double negation is often harder to understand than no negation
at all.
diff --git a/Documentation/RelNotes/1.9.2.txt b/Documentation/RelNotes/1.9.2.txt
new file mode 100644
index 0000000000..47a34ca964
--- /dev/null
+++ b/Documentation/RelNotes/1.9.2.txt
@@ -0,0 +1,67 @@
+Git v1.9.2 Release Notes
+========================
+
+Fixes since v1.9.1
+------------------
+
+ * Documentation and in-code comments had many instances of mistaken
+ use of "nor", which have been corrected.
+
+ * "git fetch --prune", when the right-hand-side of multiple fetch
+ refspecs overlap (e.g. storing "refs/heads/*" to
+ "refs/remotes/origin/*", while storing "refs/frotz/*" to
+ "refs/remotes/origin/fr/*"), aggressively thought that lack of
+ "refs/heads/fr/otz" on the origin site meant we should remove
+ "refs/remotes/origin/fr/otz" from us, without checking their
+ "refs/frotz/otz" first.
+
+ Note that such a configuration is inherently unsafe (think what
+ should happen when "refs/heads/fr/otz" does appear on the origin
+ site), but that is not a reason not to be extra careful.
+
+ * "git update-ref --stdin" did not fail a request to create a ref
+ when the ref already existed.
+
+ * "git diff --no-index -Mq a b" fell into an infinite loop.
+
+ * When it is not necessary to edit a commit log message (e.g. "git
+ commit -m" is given a message without specifying "-e"), we used to
+ disable the spawning of the editor by overriding GIT_EDITOR, but
+ this means all the uses of the editor, other than to edit the
+ commit log message, are also affected.
+
+ * "git status --porcelain --branch" showed its output with labels
+ "ahead/behind/gone" translated to the user's locale.
+
+ * "git mv" that moves a submodule forgot to adjust the array that
+ uses to keep track of which submodules were to be moved to update
+ its configuration.
+
+ * Length limit for the pathname used when removing a path in a deep
+ subdirectory has been removed to avoid buffer overflows.
+
+ * The test helper lib-terminal always run an actual test_expect_*
+ when included, which screwed up with the use of skil-all that may
+ have to be done later.
+
+ * "git index-pack" used a wrong variable to name the keep-file in an
+ error message when the file cannot be written or closed.
+
+ * "rebase -i" produced a broken insn sheet when the title of a commit
+ happened to contain '\n' (or ended with '\c') due to a careless use
+ of 'echo'.
+
+ * There were a few instances of 'git-foo' remaining in the
+ documentation that should have been spelled 'git foo'.
+
+ * Serving objects from a shallow repository needs to write a
+ new file to hold the temporary shallow boundaries but it was not
+ cleaned when we exit due to die() or a signal.
+
+ * When "git stash pop" stops after failing to apply the stash
+ (e.g. due to conflicting changes), the stash is not dropped. State
+ that explicitly in the output to let the users know.
+
+ * The labels in "git status" output that describe the nature of
+ conflicts (e.g. "both deleted") were limited to 20 bytes, which was
+ too short for some l10n (e.g. fr).
diff --git a/Documentation/RelNotes/1.9.3.txt b/Documentation/RelNotes/1.9.3.txt
new file mode 100644
index 0000000000..17b05ca7b5
--- /dev/null
+++ b/Documentation/RelNotes/1.9.3.txt
@@ -0,0 +1,21 @@
+Git v1.9.3 Release Notes
+========================
+
+Fixes since v1.9.2
+------------------
+
+ * "git p4" dealing with changes in binary files were broken by a
+ change in 1.9 release.
+
+ * The shell prompt script (in contrib/), when using the PROMPT_COMMAND
+ interface, used an unsafe construct when showing the branch name in
+ $PS1.
+
+ * "git rebase" used a POSIX shell construct FreeBSD /bin/sh does not
+ work well with.
+
+ * Some more Unicode codepoints defined in Unicode 6.3 as having
+ zero width have been taught to our display column counting logic.
+
+ * Some tests used shell constructs that did not work well on
+ FreeBSD.
diff --git a/Documentation/RelNotes/1.9.4.txt b/Documentation/RelNotes/1.9.4.txt
new file mode 100644
index 0000000000..e1d1835436
--- /dev/null
+++ b/Documentation/RelNotes/1.9.4.txt
@@ -0,0 +1,16 @@
+Git v1.9.4 Release Notes
+========================
+
+Fixes since v1.9.3
+------------------
+
+ * Commands that take pathspecs on the command line misbehaved when
+ the pathspec is given as an absolute pathname (which is a
+ practice not particularly encouraged) that points at a symbolic
+ link in the working tree.
+
+ * An earlier fix to the shell prompt script (in contrib/) for using
+ the PROMPT_COMMAND interface did not correctly check if the extra
+ code path needs to trigger, causing the branch name not to appear
+ when 'promptvars' option is disabled in bash or PROMPT_SUBST is
+ unset in zsh.
diff --git a/Documentation/RelNotes/2.0.0.txt b/Documentation/RelNotes/2.0.0.txt
index ae494f5920..2617372a0c 100644
--- a/Documentation/RelNotes/2.0.0.txt
+++ b/Documentation/RelNotes/2.0.0.txt
@@ -41,19 +41,39 @@ with "git diff-files --diff-filter=d").
"git request-pull" lost a few "heuristics" that often led to mistakes.
+The default prefix for "git svn" has changed in Git 2.0. For a long
+time, "git svn" created its remote-tracking branches directly under
+refs/remotes, but it now places them under refs/remotes/origin/ unless
+it is told otherwise with its "--prefix" option.
+
Updates since v1.9 series
-------------------------
UI, Workflows & Features
+ * The "multi-mail" post-receive hook (in contrib/) has been updated
+ to a more recent version from upstream.
+
+ * The "remote-hg/bzr" remote-helper interfaces (used to be in
+ contrib/) are no more. They are now maintained separately as
+ third-party plug-ins in their own repositories.
+
+ * "git gc --aggressive" learned "--depth" option and
+ "gc.aggressiveDepth" configuration variable to allow use of a less
+ insane depth than the built-in default value of 250.
+
+ * "git log" learned the "--show-linear-break" option to show where a
+ single strand-of-pearls is broken in its output.
+
* The "rev-parse --parseopt" mechanism used by scripted Porcelains to
- parse command line options and to give help text learned to take
+ parse command-line options and to give help text learned to take
the argv-help (the placeholder string for an option parameter,
e.g. "key-id" in "--gpg-sign=<key-id>").
* The pattern to find where the function begins in C/C++ used in
- "diff" and "grep -p" have been updated to help C++ source better.
+ "diff" and "grep -p" has been updated to improve viewing C++
+ sources.
* "git rebase" learned to interpret a lone "-" as "@{-1}", the
branch that we were previously on.
@@ -64,7 +84,7 @@ UI, Workflows & Features
"--sort=version:refname".
* Discard the accumulated "heuristics" to guess from which branch the
- result wants to be pulled from and make sure what the end user
+ result wants to be pulled from and make sure that what the end user
specified is not second-guessed by "git request-pull", to avoid
mistakes. When you pushed out your 'master' branch to your public
repository as 'for-linus', use the new "master:for-linus" syntax to
@@ -73,9 +93,9 @@ UI, Workflows & Features
* "git grep" learned to behave in a way similar to native grep when
"-h" (no header) and "-c" (count) options are given.
- * transport-helper, fast-import and fast-export have been updated to
- allow the ref mapping and ref deletion in a way similar to the
- natively supported transports.
+ * "git push" via transport-helper interface has been updated to
+ allow forced ref updates in a way similar to the natively
+ supported transports.
* The "simple" mode is the default for "git push".
@@ -83,7 +103,7 @@ UI, Workflows & Features
tree-wide operation even when run inside a subdirectory of a
working tree.
- * "git add <path> is the same as "git add -A <path>" now.
+ * "git add <path>" is the same as "git add -A <path>" now.
* "core.statinfo" configuration variable, which is a
never-advertised synonym to "core.checkstat", has been removed.
@@ -99,55 +119,53 @@ UI, Workflows & Features
* The progress indicators from various time-consuming commands have
been marked for i18n/l10n.
- * "git notes -C <blob>" diagnoses an attempt to use an object that
- is not a blob as an error.
+ * "git notes -C <blob>" diagnoses as an error an attempt to use an
+ object that is not a blob.
* "git config" learned to read from the standard input when "-" is
given as the value to its "--file" parameter (attempting an
- operation to update the configuration in the standard input of
- course is rejected).
+ operation to update the configuration in the standard input is
+ rejected, of course).
* Trailing whitespaces in .gitignore files, unless they are quoted
for fnmatch(3), e.g. "path\ ", are warned and ignored. Strictly
- speaking, this is a backward incompatible change, but very unlikely
+ speaking, this is a backward-incompatible change, but very unlikely
to bite any sane user and adjusting should be obvious and easy.
- * Many commands that create commits, e.g. "pull", "rebase",
- learned to take the --gpg-sign option on the command line.
+ * Many commands that create commits, e.g. "pull" and "rebase",
+ learned to take the "--gpg-sign" option on the command line.
* "git commit" can be told to always GPG sign the resulting commit
- by setting "commit.gpgsign" configuration variable to true (the
- command line option --no-gpg-sign should override it).
+ by setting the "commit.gpgsign" configuration variable to "true"
+ (the command-line option "--no-gpg-sign" should override it).
* "git pull" can be told to only accept fast-forward by setting the
- new "pull.ff" configuration.
+ new "pull.ff" configuration variable.
- * "git reset" learned "-N" option, which does not reset the index
+ * "git reset" learned the "-N" option, which does not reset the index
fully for paths the index knows about but the tree-ish the command
resets to does not (these paths are kept as intend-to-add entries).
- * Newly cloned submodule repositories by "git submodule update",
- when the "checkout" update mode is used, will be on a local
- branch instead of on a detached HEAD, just like submodules added
- with "git submodule add".
-
Performance, Internal Implementation, etc.
+ * The compilation options to port to AIX and to MSVC have been
+ updated.
+
* We started using wildmatch() in place of fnmatch(3) a few releases
ago; complete the process and stop using fnmatch(3).
* Uses of curl's "multi" interface and "easy" interface do not mix
well when we attempt to reuse outgoing connections. Teach the RPC
- over http code, used in the smart HTTP transport, not to use the
+ over HTTP code, used in the smart HTTP transport, not to use the
"easy" interface.
* The bitmap-index feature from JGit has been ported, which should
- significantly improve performance when serving objects form a
+ significantly improve performance when serving objects from a
repository that uses it.
* The way "git log --cc" shows a combined diff against multiple
- parents have been optimized.
+ parents has been optimized.
* The prefixcmp() and suffixcmp() functions are gone. Use
starts_with() and ends_with(), and also consider if skip_prefix()
@@ -166,27 +184,59 @@ Unless otherwise noted, all the fixes since v1.9 in the maintenance
track are contained in this release (see the maintenance releases'
notes for details).
- * "git status --porcelain --branch" showed its output with labels
- "ahead/behind/gone" translated to the user's locale.
- (merge 7a76c28 mm/status-porcelain-format-i18n-fix later to maint).
+ * "git p4" was broken in 1.9 release to deal with changes in binary
+ files.
+ (merge 749b668 cl/p4-use-diff-tree later to maint).
+
+ * The shell prompt script (in contrib/), when using the PROMPT_COMMAND
+ interface, used an unsafe construct when showing the branch name in
+ $PS1.
+ (merge 1e4119c8 rh/prompt-pcmode-avoid-eval-on-refname later to maint).
+ * "git rebase" used a POSIX shell construct FreeBSD's /bin/sh does not
+ work well with.
+ (merge 8cd6596 km/avoid-non-function-return-in-rebase later to maint).
- * "git repack" died when asked to (re)pack with the reachability
- bitmap when a bitmap cannot be built; instead, just (re)pack
- without producing a bitmap in such a case, with a warning.
- (merge 373c67d jk/pack-bitmap later to maint).
+ * zsh prompt (in contrib/) leaked unnecessary error messages.
+ * Bash completion (in contrib/) did not complete the refs and remotes
+ correctly given "git pu<TAB>" when "pu" is aliased to "push".
- * The progress output while repacking and transferring objects showed
- an apparent large silence while writing the objects out of existing
- packfiles, when the reachability bitmap was in use.
- (merge 78d2214 jk/pack-bitmap-progress later to maint).
+ * Some more Unicode code points, defined in Unicode 6.3 as having zero
+ width, have been taught to our display column counting logic.
+ (merge d813ab9 tb/unicode-6.3-zero-width later to maint).
+ * Some tests used shell constructs that did not work well on FreeBSD
+ (merge ff7a1c6 km/avoid-bs-in-shell-glob later to maint).
+ (merge 00764ca km/avoid-cp-a later to maint).
+
+ * "git update-ref --stdin" did not fail a request to create a ref
+ when the ref already existed.
+ (merge b9d56b5 mh/update-ref-batch-create-fix later to maint).
+
+ * "git diff --no-index -Mq a b" fell into an infinite loop.
+ (merge ad1c3fb jc/fix-diff-no-index-diff-opt-parse later to maint).
+
+ * "git fetch --prune", when the right-hand side of multiple fetch
+ refspecs overlap (e.g. storing "refs/heads/*" to
+ "refs/remotes/origin/*", while storing "refs/frotz/*" to
+ "refs/remotes/origin/fr/*"), aggressively thought that lack of
+ "refs/heads/fr/otz" on the origin site meant we should remove
+ "refs/remotes/origin/fr/otz" from us, without checking their
+ "refs/frotz/otz" first.
+
+ Note that such a configuration is inherently unsafe (think what
+ should happen when "refs/heads/fr/otz" does appear on the origin
+ site), but that is not a reason not to be extra careful.
+ (merge e6f6371 cn/fetch-prune-overlapping-destination later to maint).
+
+ * "git status --porcelain --branch" showed its output with labels
+ "ahead/behind/gone" translated to the user's locale.
+ (merge 7a76c28 mm/status-porcelain-format-i18n-fix later to maint).
* A stray environment variable $prefix could have leaked into and
affected the behaviour of the "subtree" script (in contrib/).
-
* When it is not necessary to edit a commit log message (e.g. "git
commit -m" is given a message without specifying "-e"), we used to
disable the spawning of the editor by overriding GIT_EDITOR, but
@@ -194,7 +244,6 @@ notes for details).
commit log message, are also affected.
(merge b549be0 bp/commit-p-editor later to maint).
-
* "git mv" that moves a submodule forgot to adjust the array that
uses to keep track of which submodules were to be moved to update
its configuration.
@@ -223,7 +272,7 @@ notes for details).
(merge 3c3e6f5 rr/doc-merge-strategies later to maint).
* Serving objects from a shallow repository needs to write a
- new file to hold the temporary shallow boundaries but it was not
+ new file to hold the temporary shallow boundaries, but it was not
cleaned when we exit due to die() or a signal.
(merge 7839632 jk/shallow-update-fix later to maint).
@@ -246,19 +295,19 @@ notes for details).
".git" tells us where it is.
(merge fcfec8b da/difftool-git-files later to maint).
- * "git push" did not pay attention to branch.*.pushremote if it is
- defined earlier than remote.pushdefault; the order of these two
+ * "git push" did not pay attention to "branch.*.pushremote" if it is
+ defined earlier than "remote.pushdefault"; the order of these two
variables in the configuration file should not matter, but it did
by mistake.
(merge 98b406f jk/remote-pushremote-config-reading later to maint).
- * Codepaths that parse timestamps in commit objects have been
+ * Code paths that parse timestamps in commit objects have been
tightened.
- (merge 3f419d4 jk/commit-dates-parsing-fix later to maint).
+ (merge f80d1f9 jk/commit-dates-parsing-fix later to maint).
* "git diff --external-diff" incorrectly fed the submodule directory
- in the working tree to the external diff driver when it knew it is
- the same as one of the versions being compared.
+ in the working tree to the external diff driver when it knew that it
+ is the same as one of the versions being compared.
(merge aba4727 tr/diff-submodule-no-reuse-worktree later to maint).
* "git reset" needs to refresh the index when working in a working
@@ -269,7 +318,7 @@ notes for details).
* "git check-attr" when working on a repository with a working tree
did not work well when the working tree was specified via the
- --work-tree (and obviously with --git-dir) option.
+ "--work-tree" (and obviously with "--git-dir") option.
(merge cdbf623 jc/check-attr-honor-working-tree later to maint).
* "merge-recursive" was broken in 1.7.7 era and stopped working in
@@ -277,12 +326,12 @@ notes for details).
involved. This has been corrected.
(merge 6e2068a bk/refresh-missing-ok-in-merge-recursive later to maint.)
- * "git rev-parse" was loose in rejecting command line arguments
+ * "git rev-parse" was loose in rejecting command-line arguments
that do not make sense, e.g. "--default" without the required
value for that option.
(merge a43219f ds/rev-parse-required-args later to maint.)
- * include.path variable (or any variable that expects a path that
+ * "include.path" variable (or any variable that expects a path that
can use ~username expansion) in the configuration file is not a
boolean, but the code failed to check it.
(merge 67beb60 jk/config-path-include-fix later to maint.)
@@ -291,21 +340,25 @@ notes for details).
the pathspec is given as an absolute pathname (which is a
practice not particularly encouraged) that points at a symbolic
link in the working tree.
- (merge later 655ee9e mw/symlinks to maint.)
+ (merge 6127ff6 mw/symlinks later to maint.)
* "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
- correct status value.
+ the correct status value.
(merge f34b205 nd/diff-quiet-stat-dirty later to maint.)
* Attempting to deepen a shallow repository by fetching over smart
- HTTP transport failed in the protocol exchange, when no-done
+ HTTP transport failed in the protocol exchange, when the no-done
extension was used. The fetching side waited for the list of
- shallow boundary commits after the sending end stopped talking to
+ shallow boundary commits after the sending side stopped talking to
it.
(merge 0232852 nd/http-fetch-shallow-fix later to maint.)
* Allow "git cmd path/", when the 'path' is where a submodule is
bound to the top-level working tree, to match 'path', despite the
extra and unnecessary trailing slash (such a slash is often
- given by command line completion).
+ given by command-line completion).
(merge 2e70c01 nd/submodule-pathspec-ending-with-slash later to maint.)
+
+ * Documentation and in-code comments had many instances of mistaken
+ use of "nor", which have been corrected.
+ (merge 235e8d5 jl/nor-or-nand-and later to maint).
diff --git a/Documentation/config.txt b/Documentation/config.txt
index c415aadbbc..1932e9b9a2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -78,8 +78,8 @@ be escaped: use `\"` for `"` and `\\` for `\`.
The following escape sequences (beside `\"` and `\\`) are recognized:
`\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB)
-and `\b` for backspace (BS). No other char escape sequence, nor octal
-char sequences are valid.
+and `\b` for backspace (BS). Other char escape sequences (including octal
+escape sequences) are invalid.
Variable values ending in a `\` are continued on the next line in the
customary UNIX fashion.
@@ -826,7 +826,7 @@ color.diff::
commands will only use color when output is to the terminal.
Defaults to false.
+
-This does not affect linkgit:git-format-patch[1] nor the
+This does not affect linkgit:git-format-patch[1] or the
'git-diff-{asterisk}' plumbing commands. Can be overridden on the
command line with the `--color[=<when>]` option.
@@ -1156,6 +1156,11 @@ filter.<driver>.smudge::
object to a worktree file upon checkout. See
linkgit:gitattributes[5] for details.
+gc.aggressiveDepth::
+ The depth parameter used in the delta compression
+ algorithm used by 'git gc --aggressive'. This defaults
+ to 250.
+
gc.aggressiveWindow::
The window size parameter used in the delta compression
algorithm used by 'git gc --aggressive'. This defaults
@@ -1335,6 +1340,10 @@ gui.diffcontext::
Specifies how many context lines should be used in calls to diff
made by the linkgit:git-gui[1]. The default is "5".
+gui.displayuntracked::
+ Determines if linkgit::git-gui[1] shows untracked files
+ in the file list. The default is "true".
+
gui.encoding::
Specifies the default encoding to use for displaying of
file contents in linkgit:git-gui[1] and linkgit:gitk[1].
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index 55f499a160..843a20bac2 100644
--- a/Documentation/diff-generate-patch.txt
+++ b/Documentation/diff-generate-patch.txt
@@ -174,7 +174,7 @@ added, from the point of view of that parent).
In the above example output, the function signature was changed
from both files (hence two `-` removals from both file1 and
file2, plus `++` to mean one line that was added does not appear
-in either file1 nor file2). Also eight other lines are the same
+in either file1 or file2). Also eight other lines are the same
from file1 but do not appear in file2 (hence prefixed with `+`).
When shown by `git diff-tree -c`, it compares the parents of a
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 9b37b2a10b..6cb083aae5 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -358,7 +358,7 @@ endif::git-log[]
--irreversible-delete::
Omit the preimage for deletes, i.e. print only the header but not
the diff between the preimage and `/dev/null`. The resulting patch
- is not meant to be applied with `patch` nor `git apply`; this is
+ is not meant to be applied with `patch` or `git apply`; this is
solely for people who want to just concentrate on reviewing the
text after the change. In addition, the output obviously lack
enough information to apply such a patch in reverse, even manually,
diff --git a/Documentation/everyday.txt b/Documentation/everyday.txt
index 2a18c1f6f2..b2548ef4e6 100644
--- a/Documentation/everyday.txt
+++ b/Documentation/everyday.txt
@@ -263,7 +263,7 @@ that are not quite ready.
<5> create topic branch as needed and apply, again with my
sign-offs.
<6> rebase internal topic branch that has not been merged to the
-master, nor exposed as a part of a stable branch.
+master or exposed as a part of a stable branch.
<7> restart `pu` every time from the next.
<8> and bundle topic branches still cooking.
<9> backport a critical fix.
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 895922e27c..9631526110 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -300,9 +300,9 @@ patch::
y - stage this hunk
n - do not stage this hunk
- q - quit; do not stage this hunk nor any of the remaining ones
+ q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
- d - do not stage this hunk nor any of the later hunks in the file
+ d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt
index f1e6b2fd6d..1c03c792b0 100644
--- a/Documentation/git-cherry-pick.txt
+++ b/Documentation/git-cherry-pick.txt
@@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]
- [-S[<keyid>]] <commit>...
+ [-S[<key-id>]] <commit>...
'git cherry-pick' --continue
'git cherry-pick' --quit
'git cherry-pick' --abort
@@ -101,8 +101,8 @@ effect to your index in a row.
--signoff::
Add Signed-off-by line at the end of the commit message.
--S[<keyid>]::
---gpg-sign[=<keyid>]::
+-S[<key-id>]::
+--gpg-sign[=<key-id>]::
GPG-sign commits.
--ff::
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 429267abf6..0bbc8f55f9 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -13,7 +13,7 @@ SYNOPSIS
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
[--date=<date>] [--cleanup=<mode>] [--[no-]status]
- [-i | -o] [-S[<keyid>]] [--] [<file>...]
+ [-i | -o] [-S[<key-id>]] [--] [<file>...]
DESCRIPTION
-----------
diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
index b300e846f1..2ff35683e5 100644
--- a/Documentation/git-count-objects.txt
+++ b/Documentation/git-count-objects.txt
@@ -33,8 +33,8 @@ size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
prune-packable: the number of loose objects that are also present in
the packs. These objects could be pruned using `git prune-packed`.
+
-garbage: the number of files in object database that are not valid
-loose objects nor valid packs
+garbage: the number of files in object database that are neither valid loose
+objects nor valid packs
+
size-garbage: disk space consumed by garbage files, in KiB (unless -H is
specified)
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index 56fb7e5322..bbab35fcaf 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -158,8 +158,8 @@ $ git diff --name-status <2>
$ git diff arch/i386 include/asm-i386 <3>
------------
+
-<1> Show only modification, rename and copy, but not addition
-nor deletion.
+<1> Show only modification, rename, and copy, but not addition
+or deletion.
<2> Show only names and the nature of change, but not actual
diff output.
<3> Limit diff output to named subtrees.
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index e158a3b31f..273c4663c8 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -124,6 +124,9 @@ the value, the more time is spent optimizing the delta compression. See
the documentation for the --window' option in linkgit:git-repack[1] for
more details. This defaults to 250.
+Similarly, the optional configuration variable 'gc.aggressiveDepth'
+controls --depth option in linkgit:git-repack[1]. This defaults to 250.
+
The optional configuration variable 'gc.pruneExpire' controls how old
the unreferenced loose objects have to be before they are pruned. The
default is "2 weeks ago".
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index f83733490f..31811f16bd 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -53,6 +53,9 @@ grep.extendedRegexp::
option is ignored when the 'grep.patternType' option is set to a value
other than 'default'.
+grep.fullName::
+ If set to true, enable '--full-name' option by default.
+
OPTIONS
-------
diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.txt
index e8c13f60ae..d422ba4b59 100644
--- a/Documentation/git-http-backend.txt
+++ b/Documentation/git-http-backend.txt
@@ -191,7 +191,7 @@ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/
----------------------------------------------------------------
Lighttpd::
- Ensure that `mod_cgi`, `mod_alias, `mod_auth`, `mod_setenv` are
+ Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are
loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect
all requests to the CGI:
+
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index 439545926e..a3c1fa332a 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -10,7 +10,7 @@ SYNOPSIS
--------
[verse]
'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
- [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
+ [-s <strategy>] [-X <strategy-option>] [-S[<key-id>]]
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
'git merge' <msg> HEAD <commit>...
'git merge' --abort
diff --git a/Documentation/git-notes.txt b/Documentation/git-notes.txt
index 84bb0fecb0..310f0a5e8c 100644
--- a/Documentation/git-notes.txt
+++ b/Documentation/git-notes.txt
@@ -14,7 +14,7 @@ SYNOPSIS
'git notes' append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
'git notes' edit [<object>]
'git notes' show [<object>]
-'git notes' merge [-v | -q] [-s <strategy> ] <notes_ref>
+'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
'git notes' merge --commit [-v | -q]
'git notes' merge --abort [-v | -q]
'git notes' remove [--ignore-missing] [--stdin] [<object>...]
diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt
index 058ac0dc85..7a493c80f7 100644
--- a/Documentation/git-prune.txt
+++ b/Documentation/git-prune.txt
@@ -56,7 +56,7 @@ OPTIONS
EXAMPLE
-------
-To prune objects not used by your repository nor another that
+To prune objects not used by your repository or another that
borrows from your repository via its
`.git/objects/info/alternates`:
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 14862fb203..21cd455508 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -385,7 +385,7 @@ will now start building on top of B.
The command by default does not allow an update that is not a fast-forward
to prevent such loss of history.
-If you do not want to lose your work (history from X to B) nor the work by
+If you do not want to lose your work (history from X to B) or the work by
the other person (history from X to A), you would need to first fetch the
history from the repository, create a history that contains changes done
by both parties, and push the result back.
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index c4bde6509e..056c0dba81 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -57,7 +57,7 @@ OPTIONS
-n::
--dry-run::
Check if the command would error out, without updating the index
- nor the files in the working tree for real.
+ or the files in the working tree for real.
-v::
Show the progress of checking files out.
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index a077ba0ddc..25432d9257 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -21,7 +21,7 @@ to HEAD in all forms.
'git reset' [-q] [<tree-ish>] [--] <paths>...::
This form resets the index entries for all <paths> to their
- state at <tree-ish>. (It does not affect the working tree, nor
+ state at <tree-ish>. (It does not affect the working tree or
the current branch.)
+
This means that `git reset <paths>` is the opposite of `git add
@@ -51,7 +51,7 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
+
--
--soft::
- Does not touch the index file nor the working tree at all (but
+ Does not touch the index file or the working tree at all (but
resets the head to <commit>, just like all modes do). This leaves
all your changed files "Changes to be committed", as 'git status'
would put it.
@@ -118,7 +118,7 @@ and changes with these files are distracting.
<2> Somebody asks you to pull, and the changes sounds worthy of merging.
<3> However, you already dirtied the index (i.e. your index does
not match the HEAD commit). But you know the pull you are going
-to make does not affect frotz.c nor filfre.c, so you revert the
+to make does not affect frotz.c or filfre.c, so you revert the
index changes for these two files. Your changes in working tree
remain there.
<4> Then you can pull and merge, leaving frotz.c and filfre.c
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index e05e6b3593..987395d22a 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -290,14 +290,14 @@ The lines after the separator describe the options.
Each line of options has this format:
------------
-<opt_spec><flags>*<arg_hint>? SP+ help LF
+<opt-spec><flags>*<arg-hint>? SP+ help LF
------------
-`<opt_spec>`::
+`<opt-spec>`::
its format is the short option character, then the long option name
separated by a comma. Both parts are not required, though at least one
is necessary. `h,help`, `dry-run` and `f` are all three correct
- `<opt_spec>`.
+ `<opt-spec>`.
`<flags>`::
`<flags>` are of `*`, `=`, `?` or `!`.
@@ -313,11 +313,11 @@ Each line of options has this format:
* Use `!` to not make the corresponding negated long option available.
-`<arg_hint>`::
- `<arg_hint>`, if specified, is used as a name of the argument in the
- help output, for options that take arguments. `<arg_hint>` is
- terminated by the first whitespace. When you need to use space in the
- argument hint use dash instead.
+`<arg-hint>`::
+ `<arg-hint>`, if specified, is used as a name of the argument in the
+ help output, for options that take arguments. `<arg-hint>` is
+ terminated by the first whitespace. It is customary to use a
+ dash to separate words in a multi-word argument hint.
The remainder of the line, after stripping the spaces, is used
as the help associated to the option.
@@ -363,7 +363,7 @@ usage: some-command [options] <args>...
-h, --help show the help
--foo some nifty option --foo
--bar ... some cool option --bar with an argument
- --bar <arg> another cool option --baz with a named argument
+ --baz <arg> another cool option --baz with a named argument
--qux[=<path>] qux may take a path argument but has meaning by itself
An option group Header
diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt
index 9eb83f01a4..cceb5f2f7f 100644
--- a/Documentation/git-revert.txt
+++ b/Documentation/git-revert.txt
@@ -8,7 +8,7 @@ git-revert - Revert some existing commits
SYNOPSIS
--------
[verse]
-'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...
+'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<key-id>]] <commit>...
'git revert' --continue
'git revert' --quit
'git revert' --abort
@@ -80,8 +80,8 @@ more details.
This is useful when reverting more than one commits'
effect to your index in a row.
--S[<keyid>]::
---gpg-sign[=<keyid>]::
+-S[<key-id>]::
+--gpg-sign[=<key-id>]::
GPG-sign commits.
-s::
diff --git a/Documentation/git-shell.txt b/Documentation/git-shell.txt
index c35051ba58..e4bdd2235c 100644
--- a/Documentation/git-shell.txt
+++ b/Documentation/git-shell.txt
@@ -66,7 +66,7 @@ EXAMPLE
-------
To disable interactive logins, displaying a greeting instead:
-+
+
----------------
$ chsh -s /usr/bin/git-shell
$ mkdir $HOME/git-shell-commands
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
index a515648ab0..b91d4e545b 100644
--- a/Documentation/git-show-branch.txt
+++ b/Documentation/git-show-branch.txt
@@ -25,7 +25,7 @@ and/or refs/tags) semi-visually.
It cannot show more than 29 branches and commits at a time.
It uses `showbranch.default` multi-valued configuration items if
-no <rev> nor <glob> is given on the command line.
+no <rev> or <glob> is given on the command line.
OPTIONS
diff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.txt
index ffd1b03a9c..2a6f89b235 100644
--- a/Documentation/git-show-ref.txt
+++ b/Documentation/git-show-ref.txt
@@ -89,7 +89,7 @@ OPTIONS
Show references matching one or more patterns. Patterns are matched from
the end of the full name, and only complete parts are matched, e.g.
'master' matches 'refs/heads/master', 'refs/remotes/origin/master',
- 'refs/tags/jedi/master' but not 'refs/heads/mymaster' nor
+ 'refs/tags/jedi/master' but not 'refs/heads/mymaster' or
'refs/remotes/master/jedi'.
OUTPUT
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 77588b0dd8..89c4d3e394 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -15,7 +15,7 @@ SYNOPSIS
'git submodule' [--quiet] init [--] [<path>...]
'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
- [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>]
+ [-f|--force] [--rebase|--merge] [--reference <repository>]
[--depth <depth>] [--recursive] [--] [<path>...]
'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
[commit] [--] [<path>...]
@@ -155,31 +155,13 @@ it contains local modifications.
update::
Update the registered submodules, i.e. clone missing submodules and
- checkout the commit specified in the index of the containing
- repository. The update mode defaults to `checkout`, but can be
- configured with the `submodule.<name>.update` setting or the
- `--rebase`, `--merge`, or `--checkout` options.
-+
-For updates that clone missing submodules, checkout-mode updates will
-create submodules with detached HEADs; all other modes will create
-submodules with a local branch named after `submodule.<name>.branch`.
-+
-For updates that do not clone missing submodules, the submodule's HEAD
-is only touched when the remote reference does not match the
-submodule's HEAD (for none-mode updates, the submodule is never
-touched). The remote reference is usually the gitlinked commit from
-the superproject's tree, but with `--remote` it is the upstream
-subproject's `submodule.<name>.branch`. This remote reference is
-integrated with the submodule's HEAD using the specified update mode.
-For checkout-mode updates, that will result in a detached HEAD. For
-rebase- and merge-mode updates, the commit referenced by the
-submodule's HEAD may change, but the symbolic reference will remain
-unchanged (i.e. checked-out branches will still be checked-out
-branches, and detached HEADs will still be detached HEADs). If none
-of the builtin modes fit your needs, set `submodule.<name>.update` to
-`!command` to configure a custom integration command. `command` can
-be any arbitrary shell command that takes a single argument, namely
-the sha1 to update to.
+ checkout the commit specified in the index of the containing repository.
+ This will make the submodules HEAD be detached unless `--rebase` or
+ `--merge` is specified or the key `submodule.$name.update` is set to
+ `rebase`, `merge` or `none`. `none` can be overridden by specifying
+ `--checkout`. Setting the key `submodule.$name.update` to `!command`
+ will cause `command` to be run. `command` can be any arbitrary shell
+ command that takes a single argument, namely the sha1 to update to.
+
If the submodule is not yet initialized, and you just want to use the
setting as stored in .gitmodules, you can automatically initialize the
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 30c5ee2564..fce585388c 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -86,13 +86,14 @@ COMMANDS
(refs/remotes/$remote/*). Setting a prefix is also useful
if you wish to track multiple projects that share a common
repository.
+ By default, the prefix is set to 'origin/'.
+
-NOTE: In Git v2.0, the default prefix will CHANGE from "" (no prefix)
-to "origin/". This is done to put SVN-tracking refs at
-"refs/remotes/origin/*" instead of "refs/remotes/*", and make them
-more compatible with how Git's own remote-tracking refs are organized
-(i.e. refs/remotes/$remote/*). You can enjoy the same benefits today,
-by using the --prefix option.
+NOTE: Before Git v2.0, the default prefix was "" (no prefix). This
+meant that SVN-tracking refs were put at "refs/remotes/*", which is
+incompatible with how Git's own remote-tracking refs are organized.
+If you still want the old default, you can get it by passing
+`--prefix ""` on the command line (`--prefix=""` may not work if
+your Perl's Getopt::Long is < v2.37).
--ignore-paths=<regex>;;
When passed to 'init' or 'clone' this regular expression will
@@ -994,16 +995,6 @@ without giving any repository layout options. If the full history with
branches and tags is required, the options '--trunk' / '--branches' /
'--tags' must be used.
-When using the options for describing the repository layout (--trunk,
---tags, --branches, --stdlayout), please also specify the --prefix
-option (e.g. '--prefix=origin/') to cause your SVN-tracking refs to be
-placed at refs/remotes/origin/* rather than the default refs/remotes/*.
-The former is more compatible with the layout of Git's "regular"
-remote-tracking refs (refs/remotes/$remote/*), and may potentially
-prevent similarly named SVN branches and Git remotes from clobbering
-each other. In Git v2.0 the default prefix used (i.e. when no --prefix
-is given) will change from "" (no prefix) to "origin/".
-
When using multiple --branches or --tags, 'git svn' does not automatically
handle name collisions (for example, if two branches from different paths have
the same name, or if a branch and a tag have the same name). In these cases,
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index e0a87029cd..d6de4a008c 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -12,7 +12,7 @@ SYNOPSIS
'git update-index'
[--add] [--remove | --force-remove] [--replace]
[--refresh] [-q] [--unmerged] [--ignore-missing]
- [(--cacheinfo <mode> <object> <file>)...]
+ [(--cacheinfo <mode>,<object>,<file>)...]
[--chmod=(+|-)x]
[--[no-]assume-unchanged]
[--[no-]skip-worktree]
@@ -68,8 +68,12 @@ OPTIONS
--ignore-missing::
Ignores missing files during a --refresh
+--cacheinfo <mode>,<object>,<path>::
--cacheinfo <mode> <object> <path>::
- Directly insert the specified info into the index.
+ Directly insert the specified info into the index. For
+ backward compatibility, you can also give these three
+ arguments as three separate parameters, but new users are
+ encouraged to use a single-parameter form.
--index-info::
Read index information from stdin.
diff --git a/Documentation/git.txt b/Documentation/git.txt
index e5f8ed0940..b075e0bed5 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,9 +43,17 @@ unreleased) version of Git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v1.9.1/git.html[documentation for release 1.9.1]
+* link:v2.0.0/git.html[documentation for release 2.0]
* release notes for
+ link:RelNotes/2.0.0.txt[2.0.0].
+
+* link:v1.9.4/git.html[documentation for release 1.9.4]
+
+* release notes for
+ link:RelNotes/1.9.4.txt[1.9.4],
+ link:RelNotes/1.9.3.txt[1.9.3],
+ link:RelNotes/1.9.2.txt[1.9.2],
link:RelNotes/1.9.1.txt[1.9.1],
link:RelNotes/1.9.0.txt[1.9.0].
diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt
index f539e3f66a..347a9f76ee 100644
--- a/Documentation/gitmodules.txt
+++ b/Documentation/gitmodules.txt
@@ -55,10 +55,6 @@ submodule.<name>.branch::
A remote branch name for tracking updates in the upstream submodule.
If the option is not specified, it defaults to 'master'. See the
`--remote` documentation in linkgit:git-submodule[1] for details.
-+
-This branch name is also used for the local branch created by
-non-checkout cloning updates. See the `update` documentation in
-linkgit:git-submodule[1] for details.
submodule.<name>.fetchRecurseSubmodules::
This option can be used to control recursive fetching of this
diff --git a/Documentation/howto-index.sh b/Documentation/howto-index.sh
index a2340864b5..167b363668 100755
--- a/Documentation/howto-index.sh
+++ b/Documentation/howto-index.sh
@@ -11,8 +11,8 @@ EOF
for txt
do
- title=`expr "$txt" : '.*/\(.*\)\.txt$'`
- from=`sed -ne '
+ title=$(expr "$txt" : '.*/\(.*\)\.txt$')
+ from=$(sed -ne '
/^$/q
/^From:[ ]/{
s///
@@ -21,9 +21,9 @@ do
s/^/by /
p
}
- ' "$txt"`
+ ' "$txt")
- abstract=`sed -ne '
+ abstract=$(sed -ne '
/^Abstract:[ ]/{
s/^[^ ]*//
x
@@ -39,11 +39,11 @@ do
x
p
q
- }' "$txt"`
+ }' "$txt")
if grep 'Content-type: text/asciidoc' >/dev/null $txt
then
- file=`expr "$txt" : '\(.*\)\.txt$'`.html
+ file=$(expr "$txt" : '\(.*\)\.txt$').html
else
file="$txt"
fi
diff --git a/Documentation/howto/rebase-from-internal-branch.txt b/Documentation/howto/rebase-from-internal-branch.txt
index 19ab604f1f..02cb5f758d 100644
--- a/Documentation/howto/rebase-from-internal-branch.txt
+++ b/Documentation/howto/rebase-from-internal-branch.txt
@@ -139,7 +139,7 @@ You fetch from upstream, but not merge.
$ git fetch upstream
This leaves the updated upstream head in .git/FETCH_HEAD but
-does not touch your .git/HEAD nor .git/refs/heads/master.
+does not touch your .git/HEAD or .git/refs/heads/master.
You run "git rebase" now.
$ git rebase FETCH_HEAD master
diff --git a/Documentation/howto/revert-a-faulty-merge.txt b/Documentation/howto/revert-a-faulty-merge.txt
index acf3e477e5..462255ed5d 100644
--- a/Documentation/howto/revert-a-faulty-merge.txt
+++ b/Documentation/howto/revert-a-faulty-merge.txt
@@ -54,7 +54,7 @@ where C and D are to fix what was broken in A and B, and you may already
have some other changes on the mainline after W.
If you merge the updated side branch (with D at its tip), none of the
-changes made in A nor B will be in the result, because they were reverted
+changes made in A or B will be in the result, because they were reverted
by W. That is what Alan saw.
Linus explains the situation:
@@ -90,7 +90,7 @@ with:
$ git revert W
This history would (ignoring possible conflicts between what W and W..Y
-changed) be equivalent to not having W nor Y at all in the history:
+changed) be equivalent to not having W or Y at all in the history:
---o---o---o---M---x---x-------x----
/
diff --git a/Documentation/howto/revert-branch-rebase.txt b/Documentation/howto/revert-branch-rebase.txt
index 85f69dbac9..149508e13b 100644
--- a/Documentation/howto/revert-branch-rebase.txt
+++ b/Documentation/howto/revert-branch-rebase.txt
@@ -137,7 +137,7 @@ $ make clean test ;# make sure it did not cause other breakage.
------------------------------------------------
Everything is in the good order. I do not need the temporary branch
-nor tag anymore, so remove them:
+or tag anymore, so remove them:
------------------------------------------------
$ rm -f .git/refs/tags/pu-anchor
diff --git a/Documentation/install-webdoc.sh b/Documentation/install-webdoc.sh
index 76d69a907b..ed8b4ff3e5 100755
--- a/Documentation/install-webdoc.sh
+++ b/Documentation/install-webdoc.sh
@@ -18,17 +18,17 @@ do
else
echo >&2 "# install $h $T/$h"
rm -f "$T/$h"
- mkdir -p `dirname "$T/$h"`
+ mkdir -p $(dirname "$T/$h")
cp "$h" "$T/$h"
fi
done
-strip_leading=`echo "$T/" | sed -e 's|.|.|g'`
+strip_leading=$(echo "$T/" | sed -e 's|.|.|g')
for th in \
"$T"/*.html "$T"/*.txt \
"$T"/howto/*.txt "$T"/howto/*.html \
"$T"/technical/*.txt "$T"/technical/*.html
do
- h=`expr "$th" : "$strip_leading"'\(.*\)'`
+ h=$(expr "$th" : "$strip_leading"'\(.*\)')
case "$h" in
RelNotes-*.txt | index.html) continue ;;
esac
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index e1343155fa..f08e9b80c5 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -63,14 +63,13 @@ merge.
--squash::
--no-squash::
- Produce the working tree and index state as if a real
- merge happened (except for the merge information),
- but do not actually make a commit or
- move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
- cause the next `git commit` command to create a merge
- commit. This allows you to create a single commit on
- top of the current branch whose effect is the same as
- merging another branch (or more in case of an octopus).
+ Produce the working tree and index state as if a real merge
+ happened (except for the merge information), but do not actually
+ make a commit, move the `HEAD`, or record `$GIT_DIR/MERGE_HEAD`
+ (to cause the next `git commit` command to create a merge
+ commit). This allows you to create a single commit on top of
+ the current branch whose effect is the same as merging another
+ branch (or more in case of an octopus).
+
With --no-squash perform the merge and commit the result. This
option can be used to override --squash.
diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
index 1d174fd0b6..85d63532a3 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -78,7 +78,7 @@ The 'raw' format shows the entire commit exactly as
stored in the commit object. Notably, the SHA-1s are
displayed in full, regardless of whether --abbrev or
--no-abbrev are used, and 'parents' information show the
-true parent commits, without taking grafts nor history
+true parent commits, without taking grafts or history
simplification into account.
* 'format:<string>'
diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.txt
index eea0e306a8..8569e29d08 100644
--- a/Documentation/pretty-options.txt
+++ b/Documentation/pretty-options.txt
@@ -39,7 +39,7 @@ people using 80-column terminals.
Show the notes (see linkgit:git-notes[1]) that annotate the
commit, when showing the commit log message. This is the default
for `git log`, `git show` and `git whatchanged` commands when
- there is no `--pretty`, `--format` nor `--oneline` option given
+ there is no `--pretty`, `--format`, or `--oneline` option given
on the command line.
+
By default, the notes shown are from the notes refs listed in the
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 9a3da3646e..deb8cca917 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -237,7 +237,7 @@ list.
reflog entries from the most recent one to older ones.
When this option is used you cannot specify commits to
exclude (that is, '{caret}commit', 'commit1..commit2',
- nor 'commit1\...commit2' notations cannot be used).
+ and 'commit1\...commit2' notations cannot be used).
+
With `--pretty` format other than `oneline` (for obvious reasons),
this causes the output to have two extra lines of information
@@ -758,6 +758,13 @@ This enables parent rewriting, see 'History Simplification' below.
This implies the `--topo-order` option by default, but the
`--date-order` option may also be specified.
+--show-linear-break[=<barrier>]::
+ When --graph is not used, all history branches are flattened
+ which can make it hard to see that the two consecutive commits
+ do not belong to a linear branch. This option puts a barrier
+ in between them in that case. If `<barrier>` is specified, it
+ is the string that will be shown instead of the default one.
+
ifdef::git-rev-list[]
--count::
Print a number stating how many commits would have been
diff --git a/Documentation/technical/api-gitattributes.txt b/Documentation/technical/api-gitattributes.txt
index ce363b6305..2602668677 100644
--- a/Documentation/technical/api-gitattributes.txt
+++ b/Documentation/technical/api-gitattributes.txt
@@ -99,7 +99,7 @@ static void setup_check(void)
The attribute is Unset, by listing the name of the
attribute prefixed with a dash - for the path.
} else if (ATTR_UNSET(value)) {
- The attribute is not set nor unset for the path.
+ The attribute is neither set nor unset for the path.
} else if (!strcmp(value, "input")) {
If none of ATTR_TRUE(), ATTR_FALSE(), or ATTR_UNSET() is
true, the value is a string set in the gitattributes
diff --git a/Documentation/technical/api-hashmap.txt b/Documentation/technical/api-hashmap.txt
index 42ca2347ed..b977ae8bbb 100644
--- a/Documentation/technical/api-hashmap.txt
+++ b/Documentation/technical/api-hashmap.txt
@@ -166,7 +166,6 @@ Usage example
-------------
Here's a simple usage example that maps long keys to double values.
-[source,c]
------------
struct hashmap map;
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index be50cf4de3..1f2db31312 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -160,10 +160,6 @@ There are some macros to easily define options:
`int_var` is set to `integer` with `--option`, and
reset to zero with `--no-option`.
-`OPT_SET_PTR(short, long, &ptr_var, description, ptr)`::
- Introduce a boolean option.
- If used, set `ptr_var` to `ptr`.
-
`OPT_STRING(short, long, &str_var, arg_str, description)`::
Introduce an option with string argument.
The string argument is put into `str_var`.
diff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt
index 39c64105a6..18dea8d15f 100644
--- a/Documentation/technical/pack-protocol.txt
+++ b/Documentation/technical/pack-protocol.txt
@@ -237,10 +237,10 @@ The client now sends the maximum commit history depth it wants for
this transaction, which is the number of commits it wants from the
tip of the history, if any, as a 'deepen' line. A depth of 0 is the
same as not making a depth request. The client does not want to receive
-any commits beyond this depth, nor objects needed only to complete
-those commits. Commits whose parents are not received as a result are
-defined as shallow and marked as such in the server. This information
-is sent back to the client in the next step.
+any commits beyond this depth, nor does it want objects needed only to
+complete those commits. Commits whose parents are not received as a
+result are defined as shallow and marked as such in the server. This
+information is sent back to the client in the next step.
Once all the 'want's and 'shallow's (and optional 'deepen') are
transferred, clients MUST send a flush-pkt, to tell the server side
diff --git a/Documentation/technical/protocol-common.txt b/Documentation/technical/protocol-common.txt
index fb7ff084f8..889985f707 100644
--- a/Documentation/technical/protocol-common.txt
+++ b/Documentation/technical/protocol-common.txt
@@ -39,7 +39,7 @@ More specifically, they:
caret `^`, colon `:`, question-mark `?`, asterisk `*`,
or open bracket `[` anywhere.
-. They cannot end with a slash `/` nor a dot `.`.
+. They cannot end with a slash `/` or a dot `.`.
. They cannot end with the sequence `.lock`.
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index d4f9804462..022e74e616 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -4074,7 +4074,7 @@ the `HEAD` tree, and stage 3 to the `$target` tree.
Earlier we said that trivial merges are done inside
`git read-tree -m`. For example, if the file did not change
-from `$orig` to `HEAD` nor `$target`, or if the file changed
+from `$orig` to `HEAD` or `$target`, or if the file changed
from `$orig` to `HEAD` and `$orig` to `$target` the same way,
obviously the final outcome is what is in `HEAD`. What the
above example shows is that file `hello.c` was changed from