summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/RelNotes-1.5.6.4.txt43
-rw-r--r--Documentation/RelNotes-1.6.0.txt18
-rw-r--r--Documentation/SubmittingPatches2
-rw-r--r--Documentation/git-add.txt5
-rw-r--r--Documentation/git-am.txt10
-rw-r--r--Documentation/git-branch.txt27
-rw-r--r--Documentation/git-cherry-pick.txt10
-rw-r--r--Documentation/git-merge.txt4
-rw-r--r--Documentation/git-rebase.txt5
-rw-r--r--Documentation/git-revert.txt16
-rw-r--r--Documentation/git-submodule.txt36
-rw-r--r--Documentation/gittutorial.txt54
-rw-r--r--Documentation/pretty-formats.txt2
-rw-r--r--Documentation/user-manual.txt2
-rw-r--r--Makefile4
-rw-r--r--alias.c54
-rw-r--r--attr.c15
-rw-r--r--branch.c2
-rw-r--r--builtin-blame.c33
-rw-r--r--builtin-branch.c62
-rw-r--r--builtin-commit-tree.c71
-rw-r--r--builtin-commit.c1
-rw-r--r--builtin-describe.c2
-rw-r--r--builtin-fmt-merge-msg.c155
-rw-r--r--builtin-grep.c27
-rw-r--r--builtin-init-db.c14
-rw-r--r--builtin-mailinfo.c4
-rw-r--r--builtin-merge-recursive.c8
-rw-r--r--builtin-merge.c1156
-rw-r--r--builtin-read-tree.c24
-rw-r--r--builtin-remote.c39
-rw-r--r--builtin-rerere.c362
-rw-r--r--builtin-shortlog.c11
-rw-r--r--builtin-tag.c10
-rw-r--r--builtin.h8
-rw-r--r--cache-tree.c2
-rw-r--r--cache-tree.h2
-rw-r--r--cache.h6
-rw-r--r--commit.c143
-rw-r--r--commit.h5
-rw-r--r--compat/mingw.c22
-rw-r--r--compat/mingw.h3
-rw-r--r--config.c11
-rwxr-xr-xcontrib/completion/git-completion.bash129
-rw-r--r--contrib/emacs/git.el8
-rwxr-xr-xcontrib/examples/git-merge.sh (renamed from git-merge.sh)0
-rw-r--r--convert.c4
-rw-r--r--diff-lib.c8
-rw-r--r--diff.c11
-rw-r--r--diff.h9
-rw-r--r--exec_cmd.c10
-rw-r--r--exec_cmd.h2
-rwxr-xr-xgit-add--interactive.perl8
-rwxr-xr-xgit-am.sh7
-rw-r--r--git-compat-util.h6
-rwxr-xr-xgit-cvsserver.perl2
-rwxr-xr-xgit-gui/git-gui.sh10
-rw-r--r--git-gui/lib/merge.tcl1
-rwxr-xr-xgit-quiltimport.sh2
-rwxr-xr-xgit-rebase--interactive.sh5
-rwxr-xr-xgit-rebase.sh49
-rwxr-xr-xgit-submodule.sh57
-rwxr-xr-xgit-svn.perl41
-rw-r--r--git.c54
-rw-r--r--help.c22
-rw-r--r--index-pack.c142
-rw-r--r--parse-options.c63
-rw-r--r--parse-options.h1
-rw-r--r--pretty.c27
-rw-r--r--read-cache.c31
-rw-r--r--rerere.c360
-rw-r--r--rerere.h9
-rw-r--r--revision.c34
-rw-r--r--sha1_file.c30
-rw-r--r--shortlog.h1
-rw-r--r--t/Makefile2
-rwxr-xr-xt/aggregate-results.sh10
-rw-r--r--t/lib-git-svn.sh2
-rwxr-xr-xt/t3401-rebase-partial.sh4
-rwxr-xr-xt/t3404-rebase-interactive.sh8
-rwxr-xr-xt/t3407-rebase-abort.sh4
-rwxr-xr-xt/t4150-am.sh22
-rwxr-xr-xt/t4200-rerere.sh32
-rwxr-xr-xt/t5100-mailinfo.sh2
-rw-r--r--t/t5100/001035
-rw-r--r--t/t5100/info00105
-rw-r--r--t/t5100/msg00105
-rw-r--r--t/t5100/patch001020
-rw-r--r--t/t5100/sample.mbox35
-rwxr-xr-xt/t6008-rev-list-submodule.sh2
-rwxr-xr-xt/t6011-rev-list-with-bad-commit.sh60
-rwxr-xr-xt/t6021-merge-criss-cross.sh4
-rwxr-xr-xt/t7600-merge.sh78
-rwxr-xr-xt/t7601-merge-pull-config.sh129
-rwxr-xr-xt/t7602-merge-octopus-many.sh52
-rwxr-xr-xt/t7603-merge-reduce-heads.sh63
-rwxr-xr-xt/t7604-merge-custom-message.sh37
-rwxr-xr-xt/t7605-merge-resolve.sh46
-rwxr-xr-xt/t9106-git-svn-commit-diff-clobber.sh2
-rwxr-xr-xt/t9110-git-svn-use-svm-props.sh9
-rwxr-xr-xt/t9600-cvsimport.sh4
-rw-r--r--tree-diff.c27
102 files changed, 3333 insertions, 999 deletions
diff --git a/Documentation/RelNotes-1.5.6.4.txt b/Documentation/RelNotes-1.5.6.4.txt
new file mode 100644
index 0000000000..130418864e
--- /dev/null
+++ b/Documentation/RelNotes-1.5.6.4.txt
@@ -0,0 +1,43 @@
+GIT v1.5.6.4 Release Notes
+==========================
+
+Fixes since v1.5.6.3
+--------------------
+
+* Various commands could overflow its internal buffer on a platform
+ with small PATH_MAX value in a repository that has contents with
+ long pathnames.
+
+* There wasn't a way to make --pretty=format:%<> specifiers to honor
+ .mailmap name rewriting for authors and committers. Now you can with
+ %aN and %cN.
+
+* Bash completion wasted too many cycles; this has been optimized to be
+ usable again.
+
+* Bash completion lost ref part when completing something like "git show
+ pu:Makefile".
+
+* "git-cvsserver" did not clean up its temporary working area after annotate
+ request.
+
+* "git-daemon" called syslog() from its signal handler, which was a
+ no-no.
+
+* "git-fetch" into an empty repository used to remind that the fetch will
+ be huge by saying "no common commits", but this was an unnecessary
+ noise; it is already known by the user anyway.
+
+* "git-mailinfo" (hence "git-am") did not correctly handle in-body [PATCH]
+ line to override the commit title taken from the mail Subject header.
+
+* "git-rebase -i -p" lost parents that are not involved in the history
+ being rewritten.
+
+Contains other various documentation fixes.
+
+--
+exec >/var/tmp/1
+echo O=$(git describe maint)
+O=v1.5.6.3-21-gebcce31
+git shortlog --no-merges $O..maint
diff --git a/Documentation/RelNotes-1.6.0.txt b/Documentation/RelNotes-1.6.0.txt
index 9125ee01a6..89ea1e9385 100644
--- a/Documentation/RelNotes-1.6.0.txt
+++ b/Documentation/RelNotes-1.6.0.txt
@@ -110,6 +110,9 @@ Updates since v1.5.6
* "git-add -i" has a new action 'e/dit' to allow you edit the patch hunk
manually.
+* git-am records the original tip of the branch in ORIG_HEAD before it
+ starts applying patches.
+
* git-apply can handle a patch that touches the same path more than once
much better than before.
@@ -126,6 +129,14 @@ Updates since v1.5.6
similar to the way git-checkout reports by how many commits your branch
is ahead/behind.
+* git-branch's --contains option used to always require a commit parameter
+ to limit the branches with; it now defaults to list branches that
+ contains HEAD if this parameter is omitted.
+
+* git-branch's --merged and --no-merged option used to always limit the
+ branches relative to the HEAD, but they can now take an optional commit
+ argument that is used in place of HEAD.
+
* git-bundle can read the revision arguments from the standard input.
* git-cherry-pick can replay a root commit now.
@@ -144,6 +155,9 @@ Updates since v1.5.6
* fast-export learned to export and import marks file; this can be used to
interface with fast-import incrementally.
+* git-rebase records the original tip of branch in ORIG_HEAD before it is
+ rewound.
+
* "git rerere" can be told to update the index with auto-reused resolution
with rerere.autoupdate configuration variable.
@@ -152,6 +166,8 @@ Updates since v1.5.6
* git-send-mail can talk not just over SSL but over TLS now.
+* git-shortlog honors custom output format specified with "--pretty=format:".
+
* "git-stash save" learned --keep-index option. This lets you stash away the
local changes and bring the changes staged in the index to your working
tree for examination and testing.
@@ -185,6 +201,6 @@ this release, unless otherwise noted.
---
exec >/var/tmp/1
-O=v1.5.6.3-315-g10ce020
+O=v1.5.6.3-350-g499027b
echo O=$(git describe refs/heads/master)
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index b1164753e1..fdfa536441 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -301,7 +301,7 @@ If it does not apply correctly, there can be various reasons.
patch appropriately.
* Your MUA corrupted your patch; "am" would complain that
- the patch does not apply. Look at .dotest/ subdirectory and
+ the patch does not apply. Look at .git/rebase/ subdirectory and
see what 'patch' file contains and check for the common
corruption patterns mentioned above.
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 46dd56c12a..3558905a92 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -187,8 +187,9 @@ update::
"Update>>". When the prompt ends with double '>>', you can
make more than one selection, concatenated with whitespace or
comma. Also you can say ranges. E.g. "2-5 7,9" to choose
- 2,3,4,5,7,9 from the list. You can say '*' to choose
- everything.
+ 2,3,4,5,7,9 from the list. If the second number in a range is
+ omitted, all remaining patches are taken. E.g. "7-" to choose
+ 7,8,9 from the list. You can say '*' to choose everything.
+
What you chose are then highlighted with '*',
like this:
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index eeb23b25b0..2d7f162594 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -140,11 +140,17 @@ aborts in the middle,. You can recover from this in one of two ways:
the index file to bring it in a state that the patch should
have produced. Then run the command with '--resolved' option.
-The command refuses to process new mailboxes while `.dotest`
+The command refuses to process new mailboxes while `.git/rebase`
directory exists, so if you decide to start over from scratch,
-run `rm -f -r .dotest` before running the command with mailbox
+run `rm -f -r .git/rebase` before running the command with mailbox
names.
+Before any patches are applied, ORIG_HEAD is set to the tip of the
+current branch. This is useful if you have problems with multiple
+commits, like running 'git am' on the wrong branch or an error in the
+commits that is more easily fixed by changing the mailbox (e.g.
+errors in the "From:" lines).
+
SEE ALSO
--------
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index b3e62ed011..fc5a4a602f 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -8,24 +8,27 @@ git-branch - List, create, or delete branches
SYNOPSIS
--------
[verse]
-'git branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
- [-v [--abbrev=<length> | --no-abbrev]]
- [--contains <commit>]
+'git branch' [--color | --no-color] [-r | -a]
+ [-v [--abbrev=<length> | --no-abbrev]]
+ [(--merged | --no-merged | --contains) [<commit>]]
'git branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
'git branch' (-m | -M) [<oldbranch>] <newbranch>
'git branch' (-d | -D) [-r] <branchname>...
DESCRIPTION
-----------
-With no arguments given a list of existing branches
-will be shown, the current branch will be highlighted with an asterisk.
-Option `-r` causes the remote-tracking branches to be listed,
-and option `-a` shows both.
-With `--contains <commit>`, shows only the branches that
-contains the named commit (in other words, the branches whose
-tip commits are descendant of the named commit).
-With `--merged`, only branches merged into HEAD will be listed, and
-with `--no-merged` only branches not merged into HEAD will be listed.
+
+With no arguments, existing branches are listed, the current branch will
+be highlighted with an asterisk. Option `-r` causes the remote-tracking
+branches to be listed, and option `-a` shows both.
+
+With `--contains`, shows only the branches that contains the named commit
+(in other words, the branches whose tip commits are descendant of the
+named commit). With `--merged`, only branches merged into the named
+commit (i.e. the branches whose tip commits are reachable from the named
+commit) will be listed. With `--no-merged` only branches not merged into
+the named commit will be listed. Missing <commit> argument defaults to
+'HEAD' (i.e. the tip of the current branch).
In its second form, a new branch named <branchname> will be created.
It will start out with a head equal to the one given as <start-point>.
diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt
index a691173ba1..50fb3d5d54 100644
--- a/Documentation/git-cherry-pick.txt
+++ b/Documentation/git-cherry-pick.txt
@@ -5