path: root/Documentation
diff options
Diffstat (limited to 'Documentation')
10 files changed, 102 insertions, 23 deletions
diff --git a/Documentation/Makefile b/Documentation/Makefile
index dba97dc..e18242a 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -103,6 +103,10 @@ ifdef DOCBOOK_SUPPRESS_SP
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
+# Shell quote;
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
# Please note that there is a minor bug in asciidoc.
# The version after 6.0.3 _will_ include the patch found here:
@@ -178,7 +182,7 @@ install-pdf: pdf
$(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir)
install-html: html
- sh ./ $(DESTDIR)$(htmldir)
+ '$(SHELL_PATH_SQ)' ./ $(DESTDIR)$(htmldir)
@@ -240,7 +244,7 @@ user-manual.xml: user-manual.txt user-manual.conf
technical/api-index.txt: technical/api-index-skel.txt \
technical/ $(patsubst %,%.txt,$(API_DOCS))
- $(QUIET_GEN)cd technical && sh ./
+ $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./
$(patsubst %,%.html,$(API_DOCS) technical/api-index): %.html : %.txt
$(QUIET_ASCIIDOC)$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
@@ -285,7 +289,7 @@ $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
howto-index.txt: $(wildcard howto/*.txt)
$(QUIET_GEN)$(RM) $@+ $@ && \
- sh ./ $(wildcard howto/*.txt) >$@+ && \
+ '$(SHELL_PATH_SQ)' ./ $(wildcard howto/*.txt) >$@+ && \
mv $@+ $@
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
@@ -299,14 +303,14 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
mv $@+ $@
install-webdoc : html
- sh ./ $(WEBDOC_DEST)
quick-install: quick-install-man
- sh ./ $(DOC_REF) $(DESTDIR)$(mandir)
+ '$(SHELL_PATH_SQ)' ./ $(DOC_REF) $(DESTDIR)$(mandir)
- sh ./ $(HTML_REF) $(DESTDIR)$(htmldir)
+ '$(SHELL_PATH_SQ)' ./ $(HTML_REF) $(DESTDIR)$(htmldir)
diff --git a/Documentation/RelNotes- b/Documentation/RelNotes-
new file mode 100644
index 0000000..4d3c1ac
--- /dev/null
+++ b/Documentation/RelNotes-
@@ -0,0 +1,22 @@
+GIT v1.6.2.3 Release Notes
+Fixes since v1.6.2.2
+* Setting an octal mode value to core.sharedrepository configuration to
+ restrict access to the repository to group members did not work as
+ advertised.
+* A fairly large and trivial memory leak while rev-list shows list of
+ reachable objects has been identified and plugged.
+* "git-commit --interactive" did not abort when underlying "git-add -i"
+ signaled a failure.
+* git-repack (invoked from git-gc) did not work as nicely as it should in
+ a repository that borrows objects from neighbours via alternates
+ mechanism especially when some packs are marked with the ".keep" flag
+ to prevent them from being repacked.
+Many small documentation updates are included as well.
diff --git a/Documentation/RelNotes-1.6.3.txt b/Documentation/RelNotes-1.6.3.txt
index db69562..9aa143b 100644
--- a/Documentation/RelNotes-1.6.3.txt
+++ b/Documentation/RelNotes-1.6.3.txt
@@ -40,6 +40,9 @@ Updates since v1.6.2
* many uses of lstat(2) in the codepath for "git checkout" have been
optimized out.
+* pruning reflog entries that are unreachable from the tip of the ref
+ during "git reflog prune" (hence "git gc") was very inefficient.
(usability, bells and whistles)
* rsync:/path/to/repo can be used to run git over rsync for local
@@ -56,7 +59,7 @@ Updates since v1.6.2
spelled as "--format=<style>". In addition, --format=%formatstring
is a short-hand for --pretty=tformat:%formatstring.
-* "--oneline" is a synonym for "--pretty=oneline --abbrev=commit".
+* "--oneline" is a synonym for "--pretty=oneline --abbrev-commit".
* If you realize that you botched the patch when you are editing hunks
with the 'edit' action in git-add -i/-p, you can abort the editor to
@@ -66,6 +69,10 @@ Updates since v1.6.2
messages given by "git checkout" and "git status" used to count merge
commits; now it doesn't.
+* @{-1} is a new way to refer to the last branch you were on introduced in
+ 1.6.2, but the initial implementation did not teach this to a few
+ commands. Now the syntax works with "branch -m @{-1} newname".
* git-archive learned --output=<file> option.
* git-bisect shows not just the number of remaining commits whose goodness
@@ -88,10 +95,16 @@ Updates since v1.6.2
* git-format-patch can be told to produce deep or shallow message threads.
+* git-format-patch can be told to always add sign-off with a configuration
+ variable.
* git-format-patch learned format.headers configuration to add extra
header fields to the output. This behaviour is similar to the existing
--add-header=<header> option of the command.
+* git-format-patch gives human readable names to the attached files, when
+ told to send patches as attachments.
* git-grep learned to highlight the found substrings in color.
* git-imap-send learned to work around Thunderbird's inability to easily
@@ -105,11 +118,6 @@ Updates since v1.6.2
* Output from git-remote command has been vastly improved.
-* git-repack (invoked from git-gc) did not work as nicely as it should in
- a repository that borrows objects from neighbours via alternates
- mechanism especially when some packs are marked with the ".keep" flag
- to prevent them from being repacked.
* git-send-email learned --confirm option to review the Cc: list before
sending the messages out.
@@ -141,11 +149,23 @@ v1.6.2.X series.
* The initial checkout did not read the attributes from the .gitattribute
file that is being checked out.
+* "git-checkout <tree-ish> <submodule>" did not update the index entry at
+ the named path; it now does.
* git-gc spent excessive amount of time to decide if an object appears
in a locally existing pack (if needed, backport by merging 69e020a).
+* "git-ls-tree" and "git-diff-tree" used a pathspec correctly when
+ deciding to descend into a subdirectory but they did not match the
+ individual paths correctly. This caused pathspecs "abc/d ab" to match
+ "abc/0" ("abc/d" made them decide to descend into the directory "abc/",
+ and then "ab" incorrectly matched "abc/0" when it shouldn't).
+* "git-merge-recursive" was broken when a submodule entry was involved in
+ a criss-cross merge situation.
exec >/var/tmp/1
echo O=$(git describe master)
git shortlog --no-merges $O..master ^maint
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 3afd124..f3ebd2f 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1215,7 +1215,7 @@ push.default::
* `matching` push all matching branches.
All branches having the same name in both ends are considered to be
matching. This is the default.
-* `tracking` push the current branch to the branch it is tracking.
+* `tracking` push the current branch to its upstream branch.
* `current` push the current branch to a branch of the same name.
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 31ba7f2..ba3dea6 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -100,7 +100,9 @@ OPTIONS
- Show sha1 and commit subject line for each head.
+ Show sha1 and commit subject line for each head, along with
+ relationship to upstream branch (if any). If given twice, print
+ the name of the upstream branch, as well.
Alter the sha1's minimum display length in the output listing.
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 237f85e..ab527b5 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -31,6 +31,9 @@ changes, which would normally have no effect. Nevertheless, this may be
useful in the future for compensating for some git bugs or such,
therefore such a usage is permitted.
+*NOTE*: This command honors `.git/info/grafts`. If you have any grafts
+defined, running this command will make them permanent.
*WARNING*! The rewritten history will have different object names for all
the objects and will not converge with the original branch. You will not
be able to easily push and distribute the rewritten branch on top of the
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index 5061d3e..b362e9e 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -85,6 +85,11 @@ objectsize::
The object name (aka SHA-1).
+ The name of a local ref which can be considered ``upstream''
+ from the displayed ref. Respects `:short` in the same way as
+ `refname` above.
In addition to the above, for commit and tag objects, the header
field names (`tree`, `parent`, `object`, `type`, and `tag`) can
be used to specify the value in the header field.
diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index c9c0e6f..9e2b4ea 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -16,7 +16,7 @@ SYNOPSIS
'git remote set-head' <name> [-a | -d | <branch>]
'git remote show' [-n] <name>
'git remote prune' [-n | --dry-run] <name>
-'git remote update' [group]
+'git remote update' [-p | --prune] [group | remote]...
@@ -125,6 +125,8 @@ the configuration parameter remotes.default will get used; if
remotes.default is not defined, all remotes which do not have the
configuration parameter remote.<name>.skipDefaultUpdate set to true will
be updated. (See linkgit:git-config[1]).
+With `--prune` option, prune all the remotes that are updated.
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index b7b1af8..9229d45 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -85,6 +85,10 @@ COMMANDS
specified, the prefix must include a trailing slash.
Setting a prefix is useful if you wish to track multiple
projects that share a common repository.
+ When passed to 'init' or 'clone' this regular expression will
+ be preserved as a config key. See 'fetch' for a description
+ of '--ignore-paths'.
Fetch unfetched revisions from the Subversion remote we are
@@ -97,6 +101,9 @@ COMMANDS
makes 'git-log' (even without --date=local) show the same times
that `svn log` would in the local timezone.
+ Fetch only from the SVN parent of the current HEAD.
This doesn't interfere with interoperating with the Subversion
repository you cloned from, but if you wish for your local Git
repository to be able to interoperate with someone else's local Git
@@ -104,17 +111,25 @@ repository, either don't use this option or you should both use it in
the same local timezone.
- This allows one to specify Perl regular expression that will
+ This allows one to specify a Perl regular expression that will
cause skipping of all matching paths from checkout from SVN.
- Examples:
+ The '--ignore-paths' option should match for every 'fetch'
+ (including automatic fetches due to 'clone', 'dcommit',
+ 'rebase', etc) on a given repository.
+config key: svn-remote.<name>.ignore-paths
+ If the ignore-paths config key is set and the command
+ line option is also given, both regular expressions
+ will be used.
- --ignore-paths="^doc" - skip "doc*" directory for every fetch.
- --ignore-paths="^[^/]+/(?:branches|tags)" - skip "branches"
- and "tags" of first level directories.
+ --ignore-paths="^doc" - skip "doc*" directory for every
+ fetch.
- Regular expression is not persistent, you should specify
- it every time when fetching.
+ --ignore-paths="^[^/]+/(?:branches|tags)" - skip
+ "branches" and "tags" of first level directories.
Runs 'init' and 'fetch'. It will automatically create a
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 4fc1cf1..572374f 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -449,6 +449,12 @@ This commit is referred to as a "merge commit", or sometimes just a
An <<def_object,object>> which is not <<def_reachable,reachable>> from a
<<def_branch,branch>>, <<def_tag,tag>>, or any other reference.
+[[def_upstream_branch]]upstream branch::
+ The default <<def_branch,branch>> that is merged into the branch in
+ question (or the branch in question is rebased onto). It is configured
+ via branch.<name>.remote and branch.<name>.merge. If the upstream branch
+ of 'A' is 'origin/B' sometimes we say "'A' is tracking 'origin/B'".
[[def_working_tree]]working tree::
The tree of actual checked out files. The working tree is
normally equal to the <<def_HEAD,HEAD>> plus any local changes