diff --git a/Documentation/RelNotes-1.5.1.5.txt b/Documentation/RelNotes-1.5.1.5.txt
new file mode 100644
index 0000000000..b0ab8eb371
--- /dev/null
+++ b/Documentation/RelNotes-1.5.1.5.txt
@@ -0,0 +1,42 @@
+GIT v1.5.1.5 Release Notes
+==========================
+
+Fixes since v1.5.1.4
+--------------------
+
+* Bugfixes
+
+ - git-send-email did not understand aliases file for mutt, which
+ allows leading whitespaces.
+
+ - git-format-patch emitted Content-Type and Content-Transfer-Encoding
+ headers for non ASCII contents, but failed to add MIME-Version.
+
+ - git-name-rev had a buffer overrun with a deep history.
+
+ - contributed script import-tars did not get the directory in
+ tar archives interpreted correctly.
+
+ - git-svn was reported to segfault for many people on list and
+ #git; hopefully this has been fixed.
+
+ - "git-svn clone" does not try to minimize the URL
+ (i.e. connect to higher level hierarchy) by default, as this
+ can prevent clone to fail if only part of the repository
+ (e.g. 'trunk') is open to public.
+
+ - "git checkout branch^0" did not detach the head when you are
+ already on 'branch'; backported the fix from the 'master'.
+
+ - "git-config section.var" did not correctly work when
+ existing configuration file had both [section] and [section "name"]
+ next to each other.
+
+ - "git clone ../other-directory" was fooled if the current
+ directory $PWD points at is a symbolic link.
+
+ - (build) tree_entry_extract() function was both static inline
+ and extern, which caused trouble compiling with Forte12
+ compilers on Sun.
+
+ - Many many documentation fixes and updates.
diff --git a/Documentation/RelNotes-1.5.1.6.txt b/Documentation/RelNotes-1.5.1.6.txt
new file mode 100644
index 0000000000..55f3ac13e3
--- /dev/null
+++ b/Documentation/RelNotes-1.5.1.6.txt
@@ -0,0 +1,45 @@
+GIT v1.5.1.6 Release Notes
+==========================
+
+Fixes since v1.5.1.4
+--------------------
+
+* Bugfixes
+
+ - git-send-email did not understand aliases file for mutt, which
+ allows leading whitespaces.
+
+ - git-format-patch emitted Content-Type and Content-Transfer-Encoding
+ headers for non ASCII contents, but failed to add MIME-Version.
+
+ - git-name-rev had a buffer overrun with a deep history.
+
+ - contributed script import-tars did not get the directory in
+ tar archives interpreted correctly.
+
+ - git-svn was reported to segfault for many people on list and
+ #git; hopefully this has been fixed.
+
+ - git-svn also had a bug to crash svnserve by sending a bad
+ sequence of requests.
+
+ - "git-svn clone" does not try to minimize the URL
+ (i.e. connect to higher level hierarchy) by default, as this
+ can prevent clone to fail if only part of the repository
+ (e.g. 'trunk') is open to public.
+
+ - "git checkout branch^0" did not detach the head when you are
+ already on 'branch'; backported the fix from the 'master'.
+
+ - "git-config section.var" did not correctly work when
+ existing configuration file had both [section] and [section "name"]
+ next to each other.
+
+ - "git clone ../other-directory" was fooled if the current
+ directory $PWD points at is a symbolic link.
+
+ - (build) tree_entry_extract() function was both static inline
+ and extern, which caused trouble compiling with Forte12
+ compilers on Sun.
+
+ - Many many documentation fixes and updates.
diff --git a/Documentation/RelNotes-1.5.2.txt b/Documentation/RelNotes-1.5.2.txt
index 42e7fa5bec..6195715dc7 100644
--- a/Documentation/RelNotes-1.5.2.txt
+++ b/Documentation/RelNotes-1.5.2.txt
@@ -1,18 +1,18 @@
-GIT v1.5.2 Release Notes (draft)
+GIT v1.5.2 Release Notes
========================
Updates since v1.5.1
--------------------
-* Plumbing level subproject support.
+* Plumbing level superproject support.
You can include a subdirectory that has an independent git
- repository in your index and tree objects as a
- "subproject". This plumbing (i.e. "core") level subproject
- support explicitly excludes recursive behaviour.
+ repository in your index and tree objects of your project
+ ("superproject"). This plumbing (i.e. "core") level
+ superproject support explicitly excludes recursive behaviour.
- The "subproject" entries in the index and trees are
- incompatible with older versions of git. Experimenting with
+ The "subproject" entries in the index and trees of a superproject
+ are incompatible with older versions of git. Experimenting with
the plumbing level support is encouraged, but be warned that
unless everybody in your project updates to this release or
later, using this feature would make your project
@@ -26,28 +26,30 @@ Updates since v1.5.1
considered a binary or text (the former would be treated by
'git diff' not to produce textual output; the latter can go
through the line endings conversion process in repositories
- with core.autocrlf set), expand and unexpand '$ident$' keyword
+ with core.autocrlf set), expand and unexpand '$Id$' keyword
with blob object name, specify a custom 3-way merge driver,
and specify a custom diff driver. You can also apply
arbitrary filter to contents on check-in/check-out codepath
but this feature is an extremely sharp-edged razor and needs
to be handled with caution (do not use it unless you
understand the earlier mailing list discussion on keyword
- expansion).
+ expansion). These conversions apply when checking files in
+ or out, and exporting via git-archive.
* The packfile format now optionally suports 64-bit index.
This release supports the "version 2" format of the .idx
file. This is automatically enabled when a huge packfile
needs more than 32-bit to express offsets of objects in the
- pack
+ pack.
-* Comes with an updated git-gui 0.7.0
+* Comes with an updated git-gui 0.7.1
* Updated gitweb:
- can show combined diff for merges;
- uses font size of user's preference, not hardcoded in pixels;
+ - can now 'grep';
* New commands and options.
@@ -114,7 +116,7 @@ Updates since v1.5.1
- Local "git fetch" from a repository whose object store is
one of the alternates (e.g. fetching from the origin in a
repository created with "git clone -l -s") avoids
- downloading objects unnecessary.
+ downloading objects unnecessarily.
- "git blame" uses .mailmap to canonicalize the author name
just like "git shortlog" does.
@@ -124,7 +126,7 @@ Updates since v1.5.1
- "git cherry-pick" and "git revert" does not use .msg file in
the working tree to prepare commit message; instead it uses
- $GIT_DIR/MERGE_MSG as other commands.
+ $GIT_DIR/MERGE_MSG as other commands do.
* Builds
@@ -134,7 +136,7 @@ Updates since v1.5.1
- gitk and git-gui can be configured out.
- Generated documentation pages automatically get version
- information from GIT_VERSION
+ information from GIT_VERSION.
- Parallel build with "make -j" descending into subdirectory
was fixed.
@@ -151,11 +153,13 @@ Updates since v1.5.1
- The recursive merge strategy updated a worktree file that
was changed identically in two branches, when one of them
renamed it. We do not do that when there is no rename, so
- match that behaviour.
+ match that behaviour. This avoids excessive rebuilds.
- The default pack depth has been increased to 50, as the
recent addition of delta_base_cache makes deeper delta chains
- much less expensive to access.
+ much less expensive to access. Depending on the project, it was
+ reported that this reduces the resulting pack file by 10%
+ or so.
Fixes since v1.5.1
@@ -188,12 +192,6 @@ this release, unless otherwise noted.
- "git clean -d -X" now does not remove non-excluded directories.
-* Documentation updates
-
-* Performance Tweaks
-
---
-exec >/var/tmp/1
-O=v1.5.2-rc2-91-g616e40b
-echo O=`git describe refs/heads/master`
-git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
+ - rebasing (without -m) a series that changes a symlink to a directory
+ in the middle of a path confused git-apply greatly and refused to
+ operate.
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index ea2701846f..a0c9f68580 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -57,8 +57,11 @@ OPTIONS
the index.
-u::
- Update all files that git already knows about. This is what
- "git commit -a" does in preparation for making a commit.
+ Update only files that git already knows about. This is similar
+ to what "git commit -a" does in preparation for making a commit,
+ except that the update is limited to paths specified on the
+ command line. If no paths are specified, all tracked files are
+ updated.
\--::
This option can be used to separate command-line options from
@@ -66,6 +69,15 @@ OPTIONS
for command-line options).
+Configuration
+-------------
+
+The optional configuration variable 'core.excludesfile' indicates a path to a
+file containing patterns of file names to exclude from git-add, similar to
+$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
+those in info/exclude. See link:repository-layout.html[repository layout].
+
+
EXAMPLES
--------
git-add Documentation/\\*.txt::
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index f0405a35e9..ba79773f79 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -9,9 +9,10 @@ git-am - Apply a series of patches from a mailbox
SYNOPSIS
--------
[verse]
-'git-am' [--signoff] [--dotest=
] [--utf8 | --no-utf8] [--binary] [--3way]
- [--interactive] [--whitespace=] [-C] [-p]
- ...
+'git-am' [--signoff] [--dotest=] [--keep] [--utf8 | --no-utf8]
+ [--3way] [--interactive] [--binary]
+ [--whitespace=] [-C] [-p]
+ ...
'git-am' [--skip | --resolved]
DESCRIPTION
@@ -40,7 +41,7 @@ OPTIONS
-u, --utf8::
Pass `-u` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]).
The proposed commit log message taken from the e-mail
- are re-coded into UTF-8 encoding (configuration variable
+ is re-coded into UTF-8 encoding (configuration variable
`i18n.commitencoding` can be used to specify project's
preferred encoding if it is not UTF-8).
+
@@ -51,31 +52,33 @@ default. You could use `--no-utf8` to override this.
Pass `-n` flag to `git-mailinfo` (see
gitlink:git-mailinfo[1]).
--b, --binary::
- Pass `--allow-binary-replacement` flag to `git-apply`
- (see gitlink:git-apply[1]).
-
-3, --3way::
When the patch does not apply cleanly, fall back on
3-way merge, if the patch records the identity of blobs
it is supposed to apply to, and we have those blobs
- locally.
+ available locally.
+
+-b, --binary::
+ Pass `--allow-binary-replacement` flag to `git-apply`
+ (see gitlink:git-apply[1]).
+
+--whitespace=::
+ This flag is passed to the `git-apply` (see gitlink:git-apply[1])
+ program that applies
+ the patch.
+
+-C, -p::
+ These flags are passed to the `git-apply` (see gitlink:git-apply[1])
+ program that applies
+ the patch.
+
+-i, --interactive::
+ Run interactively.
--skip::
Skip the current patch. This is only meaningful when
restarting an aborted patch.
---whitespace=::
- This flag is passed to the `git-apply` program that applies
- the patch.
-
--C, -p::
- These flags are passed to the `git-apply` program that applies
- the patch.
-
--i, --interactive::
- Run interactively, just like git-applymbox.
-
-r, --resolved::
After a patch failure (e.g. attempting to apply
conflicting patch), the user has applied it by hand and
@@ -126,7 +129,7 @@ to crunch. Upon seeing the first patch that does not apply, it
aborts in the middle, just like 'git-applymbox' does. You can
recover from this in one of two ways:
-. skip the current one by re-running the command with '--skip'
+. skip the current patch by re-running the command with '--skip'
option.
. hand resolve the conflict in the working directory, and update
diff --git a/Documentation/git-applymbox.txt b/Documentation/git-applymbox.txt
index 3bc92d8cf1..ea919ba5d7 100644
--- a/Documentation/git-applymbox.txt
+++ b/Documentation/git-applymbox.txt
@@ -31,7 +31,7 @@ OPTIONS
whitespaces, (3) '[' up to ']', typically '[PATCH]', and
then prepends "[PATCH] ". This flag forbids this
munging, and is most useful when used to read back 'git
- format-patch --mbox' output.
+ format-patch -k' output.
-m::
Patches are applied with `git-apply` command, and unless
diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt
index d3ca9a90ce..721e0351c3 100644
--- a/Documentation/git-archive.txt
+++ b/Documentation/git-archive.txt
@@ -8,6 +8,7 @@ git-archive - Creates an archive of files from a named tree
SYNOPSIS
--------
+[verse]
'git-archive' --format= [--list] [--prefix=/] []
[--remote=] [path...]
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 603f87f3b5..8dc5171f5e 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -136,7 +136,7 @@ $ git branch -D test <2>
+
<1> delete remote-tracking branches "todo", "html", "man"
<2> delete "test" branch even if the "master" branch does not have all
-commits from todo branch.
+commits from test branch.
Notes
diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt
index 92e7a68722..5051e2bada 100644
--- a/Documentation/git-bundle.txt
+++ b/Documentation/git-bundle.txt
@@ -8,6 +8,7 @@ git-bundle - Move objects and refs by archive
SYNOPSIS
--------
+[verse]
'git-bundle' create [git-rev-list args]
'git-bundle' verify
'git-bundle' list-heads [refname...]
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 6d32c491a5..644bf126fb 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -132,7 +132,7 @@ Make a local clone that borrows from the current directory, without checking thi
+
------------
$ git clone -l -s -n . ../copy
-$ cd copy
+$ cd ../copy
$ git show-branch
------------
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 5d6e9dc751..6e660e2d08 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -73,7 +73,7 @@ separated with a single space are given.
This flag causes "git-diff-tree --stdin" to also show
the commit message before the differences.
-include::pretty-formats.txt[]
+include::pretty-options.txt[]
--no-commit-id::
git-diff-tree outputs a line with the commit ID when
@@ -104,6 +104,9 @@ include::pretty-formats.txt[]
if the diff itself is empty.
+include::pretty-formats.txt[]
+
+
Limiting Output
---------------
If you're only interested in differences in a subset of files, for
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
index e560b30c57..4913c2552f 100644
--- a/Documentation/git-fmt-merge-msg.txt
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -8,6 +8,7 @@ git-fmt-merge-msg - Produce a merge commit message
SYNOPSIS
--------
+[verse]
git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD
git-fmt-merge-msg [--summary | --no-summray] -F
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index f49b0d944c..6df8e85004 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -7,7 +7,10 @@ git-for-each-ref - Output information on each ref
SYNOPSIS
--------
-'git-for-each-ref' [--count=]\* [--shell|--perl|--python|--tcl] [--sort=]\* [--format=] []
+[verse]
+'git-for-each-ref' [--count=]\*
+ [--shell|--perl|--python|--tcl]
+ [--sort=]\* [--format=] []
DESCRIPTION
-----------
diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
index b7a49b9f58..226926964e 100644
--- a/Documentation/git-index-pack.txt
+++ b/Documentation/git-index-pack.txt
@@ -8,8 +8,10 @@ git-index-pack - Build pack index file for an existing packed archive
SYNOPSIS
--------
+[verse]
'git-index-pack' [-v] [-o ]
-'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o ] []
+'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o ]
+ []
DESCRIPTION
diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.txt
index 52a6aa6e82..9df0ab2d76 100644
--- a/Documentation/git-instaweb.txt
+++ b/Documentation/git-instaweb.txt
@@ -7,8 +7,9 @@ git-instaweb - Instantly browse your working repository in gitweb
SYNOPSIS
--------
-'git-instaweb' [--local] [--httpd=] [--port=] [--browser=]
-
+[verse]
+'git-instaweb' [--local] [--httpd=] [--port=]
+ [--browser=]
'git-instaweb' [--start] [--stop] [--restart]
DESCRIPTION
diff --git a/Documentation/git-local-fetch.txt b/Documentation/git-local-fetch.txt
index dd9e2387fc..51389ef37d 100644
--- a/Documentation/git-local-fetch.txt
+++ b/Documentation/git-local-fetch.txt
@@ -8,7 +8,9 @@ git-local-fetch - Duplicate another git repository on a local system
SYNOPSIS
--------
-'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] commit-id path
+[verse]
+'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n]
+ commit-id path
DESCRIPTION
-----------
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index dd06527a1e..0f353f6558 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -25,7 +25,7 @@ This manual page describes only the most frequently used options.
OPTIONS
-------
-include::pretty-formats.txt[]
+include::pretty-options.txt[]
-::
Limits the number of commits to show.
@@ -58,6 +58,9 @@ include::pretty-formats.txt[]
Show only commits that affect the specified paths.
+include::pretty-formats.txt[]
+
+
Examples
--------
git log --no-merges::
diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt
index ba18133ead..8eadcebfcf 100644
--- a/Documentation/git-mailinfo.txt
+++ b/Documentation/git-mailinfo.txt
@@ -30,7 +30,7 @@ OPTIONS
whitespaces, (3) '[' up to ']', typically '[PATCH]', and
then prepends "[PATCH] ". This flag forbids this
munging, and is most useful when used to read back 'git
- format-patch --mbox' output.
+ format-patch -k' output.
-u::
The commit log message, author name and author email are
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
index 5b5c4c865f..d6c8bf800f 100644
--- a/Documentation/git-name-rev.txt
+++ b/Documentation/git-name-rev.txt
@@ -8,6 +8,7 @@ git-name-rev - Find symbolic names for given revs
SYNOPSIS
--------
+[verse]
'git-name-rev' [--tags] [--refs=]
( --all | --stdin | ... )
diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt
index 6edb9f12b8..714abbe28e 100644
--- a/Documentation/git-p4import.txt
+++ b/Documentation/git-p4import.txt
@@ -8,10 +8,10 @@ git-p4import - Import a Perforce repository into git
SYNOPSIS
--------
-`git-p4import` [-q|-v] [--notags] [--authors ] [-t ] /p4repo/path>
-
+[verse]
+`git-p4import` [-q|-v] [--notags] [--authors ] [-t ]
+ /p4repo/path>
`git-p4import` --stitch /p4repo/path>
-
`git-p4import`
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index f8cc2b5432..e9ad10672a 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -8,7 +8,9 @@ git-push - Update remote refs along with associated objects
SYNOPSIS
--------
-'git-push' [--all] [--tags] [--receive-pack=] [--repo=all] [-f | --force] [-v] [ ...]
+[verse]
+'git-push' [--all] [--tags] [--receive-pack=]
+ [--repo=all] [-f | --force] [-v] [ ...]
DESCRIPTION
-----------
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 2f417a8f85..753b275a0f 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -7,8 +7,8 @@ git-rebase - Forward-port local commits to the updated upstream head
SYNOPSIS
--------
+[verse]
'git-rebase' [-v] [--merge] [-C] [--onto ] []
-
'git-rebase' --continue | --skip | --abort
DESCRIPTION
diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt
index 1b12b4f2a4..c3c2043d18 100644
--- a/Documentation/git-rev-list.txt
+++ b/Documentation/git-rev-list.txt
@@ -87,7 +87,7 @@ Using these options, gitlink:git-rev-list[1] will act similar to the
more specialized family of commit log tools: gitlink:git-log[1],
gitlink:git-show[1], and gitlink:git-whatchanged[1]
-include::pretty-formats.txt[]
+include::pretty-options.txt[]
--relative-date::
@@ -207,12 +207,12 @@ limiting may be applied.
--author='pattern', --committer='pattern'::
Limit the commits output to ones with author/committer
- header lines that match the specified pattern.
+ header lines that match the specified pattern (regular expression).
--grep='pattern'::
Limit the commits output to ones with log message that
- matches the specified pattern.
+ matches the specified pattern (regular expression).
--remove-empty::
@@ -367,6 +367,10 @@ These options are mostly targeted for packing of git repositories.
Only useful with '--objects'; print the object IDs that are not
in packs.
+
+include::pretty-formats.txt[]
+
+
Author
------
Written by Linus Torvalds
diff --git a/Documentation/git-show.txt b/Documentation/git-show.txt
index 5a219ab577..34c5caf2d0 100644
--- a/Documentation/git-show.txt
+++ b/Documentation/git-show.txt
@@ -38,6 +38,9 @@ OPTIONS
For a more complete list of ways to spell object names, see
"SPECIFYING REVISIONS" section in gitlink:git-rev-parse[1].
+include::pretty-options.txt[]
+
+
include::pretty-formats.txt[]
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 273ca173d4..98860af045 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -35,42 +35,43 @@ documentation can be viewed at
ifdef::stalenotes[]
[NOTE]
============
-You are reading the documentation for the latest version of git.
+
+You are reading the documentation for the latest (possibly
+unreleased) version of git, that is available from 'master'
+branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:RelNotes-1.5.1.txt[release notes for 1.5.1]
+* link:v1.5.2/git.html[documentation for release 1.5.2]
-* link:v1.5.1.4/git.html[documentation for release 1.5.1.4]
+* release notes for
+ link:RelNotes-1.5.2.txt[1.5.2].
-* link:RelNotes-1.5.1.4.txt[release notes for 1.5.1.4]
+* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
-* link:RelNotes-1.5.1.3.txt[release notes for 1.5.1.3]
+* release notes for
+ link:RelNotes-1.5.1.6.txt[1.5.1.6],
+ link:RelNotes-1.5.1.5.txt[1.5.1.5],
+ link:RelNotes-1.5.1.4.txt[1.5.1.4],
+ link:RelNotes-1.5.1.3.txt[1.5.1.3],
+ link:RelNotes-1.5.1.2.txt[1.5.1.2],
+ link:RelNotes-1.5.1.1.txt[1.5.1.1],
+ link:RelNotes-1.5.1.txt[1.5.1].
-* link:RelNotes-1.5.1.2.txt[release notes for 1.5.1.2]
+* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
-* link:RelNotes-1.5.1.1.txt[release notes for 1.5.1.1]
+* release notes for
+ link:RelNotes-1.5.0.7.txt[1.5.0.7],
+ link:RelNotes-1.5.0.6.txt[1.5.0.6],
+ link:RelNotes-1.5.0.5.txt[1.5.0.5],
+ link:RelNotes-1.5.0.3.txt[1.5.0.3],
+ link:RelNotes-1.5.0.2.txt[1.5.0.2],
+ link:RelNotes-1.5.0.1.txt[1.5.0.1],
+ link:RelNotes-1.5.0.txt[1.5.0].
-* link:RelNotes-1.5.0.7.txt[release notes for 1.5.0.7]
-
-* link:RelNotes-1.5.0.6.txt[release notes for 1.5.0.6]
-
-* link:RelNotes-1.5.0.5.txt[release notes for 1.5.0.5]
-
-* link:RelNotes-1.5.0.3.txt[release notes for 1.5.0.3]
-
-* link:RelNotes-1.5.0.2.txt[release notes for 1.5.0.2]
-
-* link:RelNotes-1.5.0.1.txt[release notes for 1.5.0.1]
-
-* link:RelNotes-1.5.0.txt[release notes for 1.5.0]
-
-* link:v1.4.4.4/git.html[documentation for release 1.4.4.4]
-
-* link:v1.3.3/git.html[documentation for release 1.3.3]
-
-* link:v1.2.6/git.html[documentation for release 1.2.6]
-
-* link:v1.0.13/git.html[documentation for release 1.0.13]
+* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
+ link:v1.3.3/git.html[1.3.3],
+ link:v1.2.6/git.html[1.2.6],
+ link:v1.0.13/git.html[1.0.13].
============
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 87723105d1..d3ac9c7181 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -138,11 +138,11 @@ upon checkout.
^^^^^^^
When the attribute `ident` is set to a path, git replaces
-`$ident$` in the blob object with `$ident:`, followed by
+`$Id$` in the blob object with `$Id:`, followed by
40-character hexadecimal blob object name, followed by a dollar
sign `$` upon checkout. Any byte sequence that begins with
-`$ident:` and ends with `$` in the worktree file is replaced
-with `$ident$` upon check-in.
+`$Id:` and ends with `$` in the worktree file is replaced
+with `$Id$` upon check-in.
Interaction between checkin/checkout attributes
diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt
index 2465514e46..489c3e9d5b 100644
--- a/Documentation/glossary.txt
+++ b/Documentation/glossary.txt
@@ -2,12 +2,12 @@ GIT Glossary
============
[[def_alternate_object_database]]alternate object database::
- Via the alternates mechanism, a <> can
- inherit part of its <> from another
- <>, which is called "alternate".
+ Via the alternates mechanism, a <>
+ can inherit part of its <>
+ from another object database, which is called "alternate".
[[def_bare_repository]]bare repository::
- A <> is normally an appropriately
+ A bare repository is normally an appropriately
named <> with a `.git` suffix that does not
have a locally checked-out copy of any of the files under
<> control. That is, all of the `git`
@@ -21,10 +21,15 @@ GIT Glossary
Untyped <>, e.g. the contents of a file.
[[def_branch]]branch::
- A non-cyclical graph of revisions, i.e. the complete history of a
- particular <>, which is called the
- branch <>. The heads
- are stored in `$GIT_DIR/refs/heads/`.
+ A "branch" is an active line of development. The most recent
+ <> on a branch is referred to as the tip of
+ that branch. The tip of the branch is referenced by a branch
+ <>, which moves forward as additional development
+ is done on the branch. A single git
+ <> can track an arbitrary number of
+ branches, but your <> is
+ associated with just one of them (the "current" or "checked out"
+ branch), and <> points to that branch.
[[def_cache]]cache::
Obsolete for: <>.
@@ -50,18 +55,25 @@ GIT Glossary
as a new series of changes on top of different codebase. In GIT, this is
performed by "git cherry-pick" command to extract the change introduced
by an existing <> and to record it based on the tip
- of the current <> as a new <>.
+ of the current <> as a new commit.
[[def_clean]]clean::
- A <> is <>, if it
+ A <> is clean, if it
corresponds to the <> referenced by the current
<>. Also see "<>".
[[def_commit]]commit::
- As a verb: The action of storing the current state of the
- <> in the <>. The
- result is a <>. As a noun: Short hand for
- <>.
+ As a noun: A single point in the
+ git history; the entire history of a project is represented as a
+ set of interrelated commits. The word "commit" is often
+ used by git in the same places other revision control systems
+ use the words "revision" or "version". Also used as a short
+ hand for <>.
++
+As a verb: The action of storing a new snapshot of the project's
+state in the git history, by creating a new commit representing the current
+state of the <> and advancing <>
+to point at the new commit.
[[def_commit_object]]commit object::
An <> which contains the information about a
@@ -77,16 +89,22 @@ GIT Glossary
[[def_DAG]]DAG::
Directed acyclic graph. The <> objects form a
directed acyclic graph, because they have parents (directed), and the
- graph of <> objects is acyclic (there is no
+ graph of commit objects is acyclic (there is no
<> which begins and ends with the same
<>).
[[def_dangling_object]]dangling object::
An <> which is not
<> even from other unreachable objects; a
- <> has no references to it from any
+ dangling object has no references to it from any
reference or <> in the <>.
+[[def_detached_HEAD]]detached HEAD::
+ Normally the <> stores the name of a
+ <>. However, git also allows you to check
+ out an arbitrary commit that isn't necessarily the tip of any
+ particular branch. In this case HEAD is said to be "detached".
+
[[def_dircache]]dircache::
You are *waaaaay* behind.
@@ -94,7 +112,7 @@ GIT Glossary
The list you get with "ls" :-)
[[def_dirty]]dirty::
- A <> is said to be <> if
+ A <> is said to be "dirty" if
it contains modifications which have not been committed to the current
<>.
@@ -109,16 +127,16 @@ GIT Glossary
<>'s changes that happen to be a descendant of what
you have. In such these cases, you do not make a new <>
<> but instead just update to his
- <>. This will happen frequently on a
+ revision. This will happen frequently on a
<> of a remote
<>.
[[def_fetch]]fetch::
Fetching a <> means to get the
- <>'s <> from a remote
- <>, to find out which objects are missing
- from the local <>, and to get them,
- too.
+ branch's <> from a remote
+ <>, to find out which objects are
+ missing from the local <>,
+ and to get them, too. See also gitlink:git-fetch[1].
[[def_file_system]]file system::
Linus Torvalds originally designed git to be a user space file system,
@@ -132,61 +150,83 @@ GIT Glossary
Grafts enables two otherwise different lines of development to be joined
together by recording fake ancestry information for commits. This way
you can make git pretend the set of parents a <> has
- is different from what was recorded when the <> was
+ is different from what was recorded when the commit was
created. Configured via the `.git/info/grafts` file.
[[def_hash]]hash::
In git's context, synonym to <>.
[[def_head]]head::
- The top of a <>. It contains a <> to the
- corresponding <>.
+ A named reference to the <> at the tip of a
+ <>. Heads are stored in
+ `$GIT_DIR/refs/heads/`, except when using packed refs. (See
+ gitlink:git-pack-refs[1].)
+
+[[def_HEAD]]HEAD::
+ The current branch. In more detail: Your <> is normally derived from the state of the tree
+ referred to by HEAD. HEAD is a reference to one of the
+ <> in your repository, except when using a
+ <>, in which case it may
+ reference an arbitrary commit.
[[def_head_ref]]head ref::
- A <> pointing to a <>. Often, this is
- abbreviated to "<>". Head refs are stored in
- `$GIT_DIR/refs/heads/`.
+ A synonym for <>.
[[def_hook]]hook::
During the normal execution of several git commands, call-outs are made
to optional scripts that allow a developer to add functionality or
checking. Typically, the hooks allow for a command to be pre-verified
and potentially aborted, and allow for a post-notification after the
- operation is done. The <> scripts are found in the
+ operation is done. The hook scripts are found in the
`$GIT_DIR/hooks/` <>, and are enabled by simply
making them executable.
[[def_index]]index::
A collection of files with stat information, whose contents are stored
- as objects. The <> is a stored version of your working
+ as objects. The index is a stored version of your working
<>. Truth be told, it can also contain a second, and even
a third version of a <>, which are used
when merging.
[[def_index_entry]]index entry::
The information regarding a particular file, stored in the
- <>. An <> can be unmerged,
- if a <> was started, but not yet finished (i.e. if the
- <> contains multiple versions of that file).
+ <>. An index entry can be unmerged, if a
+ <> was started, but not yet finished (i.e. if
+ the index contains multiple versions of that file).
[[def_master]]master::
- The default development <>. Whenever you create a git
- <>, a <> named
- "<>" is created, and becomes the active
- <>. In most cases, this contains the local
- development, though that is purely conventional and not required.
+ The default development <>. Whenever you
+ create a git <>, a branch named
+ "master" is created, and becomes the active branch. In most
+ cases, this contains the local development, though that is
+ purely by convention and is not required.
[[def_merge]]merge::
- To <> branches means to try to accumulate the changes
- since a common ancestor and apply them to the first
- <>. An automatic <> uses heuristics
- to accomplish that. Evidently, an automatic <> can
- fail.
+ As a verb: To bring the contents of another
+ <> (possibly from an external
+ <>) into the current branch. In the
+ case where the merged-in branch is from a different repository,
+ this is done by first <> the remote branch
+ and then merging the result into the current branch. This
+ combination of fetch and merge operations is called a
+ <>. Merging is performed by an automatic process
+ that identifies changes made since the branches diverged, and
+ then applies all those changes together. In cases where changes
+ conflict, manual intervention may be required to complete the
+ merge.
++
+As a noun: unless it is a <>, a
+successful merge results in the creation of a new <>
+representing the result of the merge, and having as
+<> the tips of the merged <>.
+This commit is referred to as a "merge commit", or sometimes just a
+"merge".
[[def_object]]object::
The unit of storage in git. It is uniquely identified by the
<> of its contents. Consequently, an
- <> can not be changed.
+ object can not be changed.
[[def_object_database]]object database::
Stores a set of "objects", and an individual <> is
@@ -198,9 +238,9 @@ GIT Glossary
[[def_object_name]]object name::
The unique identifier of an <>. The <>
- of the <>'s contents using the Secure Hash Algorithm
+ of the object's contents using the Secure Hash Algorithm
1 and usually represented by the 40 character hexadecimal encoding of
- the <> of the <> (possibly followed by
+ the <> of the object (possibly followed by
a white space).
[[def_object_type]]object type::
@@ -215,7 +255,7 @@ GIT Glossary
[[def_origin]]origin::
The default upstream <>. Most projects have
at least one upstream project which they track. By default
- '<>' is used for that purpose. New upstream updates
+ 'origin' is used for that purpose. New upstream updates
will be fetched into remote tracking branches named
origin/name-of-upstream-branch, which you can see using
"git <> -r".
@@ -227,7 +267,7 @@ GIT Glossary
[[def_pack_index]]pack index::
The list of identifiers, and other information, of the objects in a
<>, to assist in efficiently accessing the contents of a
- <>.
+ pack.
[[def_parent]]parent::
A <> contains a (possibly empty) list
@@ -247,29 +287,29 @@ GIT Glossary
[[def_porcelain]]porcelain::
Cute name for programs and program suites depending on
<>, presenting a high level access to
- <>. Porcelains expose more of a <>
+ core git. Porcelains expose more of a <>
interface than the <>.
[[def_pull]]pull::
Pulling a <> means to <> it and
- <> it.
+ <> it. See also gitlink:git-pull[1].
[[def_push]]push::
- Pushing a <> means to get the <>'s
+ Pushing a <> means to get the branch's
<> from a remote <>,
- find out if it is an ancestor to the <>'s local
- <> is a direct, and in that case, putting all
+ find out if it is an ancestor to the branch's local
+ head ref is a direct, and in that case, putting all
objects, which are <> from the local
- <>, and which are missing from the remote
- <>, into the remote
+ head ref, and which are missing from the remote
+ repository, into the remote
<>, and updating the remote
- <>. If the remote <> is not an
- ancestor to the local <>, the <> fails.
+ head ref. If the remote <> is not an
+ ancestor to the local head, the push fails.
[[def_reachable]]reachable::
All of the ancestors of a given <> are said to be
- <> from that <>. More
- generally, one <> is <> from
+ "reachable" from that commit. More
+ generally, one <> is reachable from
another if we can reach the one from the other by a <>
that follows <> to whatever they tag,
<> to their parents or trees, and
@@ -288,24 +328,23 @@ GIT Glossary
[[def_refspec]]refspec::
A <> is used by <> and
- <> to describe the mapping between remote <>
- and local <>. They are combined with a colon in the format
- :, preceded by an optional plus sign, +. For example: `git
- fetch $URL refs/heads/master:refs/heads/origin` means
- "grab the master <> <>
- from the $URL and store it as my origin
- <> <>". And `git <>
- $URL refs/heads/master:refs/heads/to-upstream` means
- "publish my master <>
- <> as to-upstream <> at $URL". See
- also gitlink:git-push[1]
+ <> to describe the mapping between remote
+ <> and local ref. They are combined with a colon in
+ the format :, preceded by an optional plus sign, +.
+ For example: `git fetch $URL
+ refs/heads/master:refs/heads/origin` means "grab the master
+ <> <> from the $URL and store
+ it as my origin branch head". And `git push
+ $URL refs/heads/master:refs/heads/to-upstream` means "publish my
+ master branch head as to-upstream branch at $URL". See also
+ gitlink:git-push[1]
[[def_repository]]repository::
- A collection of refs together with an <> containing all objects which are <>
- from the refs, possibly accompanied by meta data from one or more
- porcelains. A <> can share an
- <> with other repositories.
+ A collection of refs together with an
+ <> containing all objects
+ which are <> from the refs, possibly
+ accompanied by meta data from one or more porcelains. A
+ repository can share an object database with other repositories.
[[def_resolve]]resolve::
The action of fixing up manually what a failed automatic
@@ -327,36 +366,37 @@ GIT Glossary
Synonym for <>.
[[def_shallow_repository]]shallow repository::
- A <> has an incomplete
+ A shallow repository has an incomplete
history some of whose commits have parents cauterized away (in other
words, git is told to pretend that these commits do not have the
parents, even though they are recorded in the <>). This is sometimes useful when you are interested only in the
recent history of a project even though the real history recorded in the
- upstream is much larger. A <