Merge branch 'maint' into HEAD

* maint:
  Update GIT 1.5.3.5 Release Notes
  git-rebase--interactive.sh: Make 3-way merge strategies work for -p.
  git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
  Fix --strategy parsing in git-rebase--interactive.sh
  Make merge-recursive honor diff.renamelimit
  cherry-pick/revert: more compact user direction message
  core-tutorial: Use new syntax for git-merge.
  git-merge: document but discourage the historical syntax
  Prevent send-pack from segfaulting (backport from 'master')
  Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example

Conflicts:

	git-rebase--interactive.sh
This commit is contained in:
Junio C Hamano 2007-10-30 21:44:43 -07:00
Родитель 7eedc1c1b3 0bdb5af7a5
Коммит 9c51414f8e
6 изменённых файлов: 23 добавлений и 15 удалений

Просмотреть файл

@ -87,8 +87,14 @@ Fixes since v1.5.3.4
* A few workarounds to squelch false warnings from recent gcc have * A few workarounds to squelch false warnings from recent gcc have
been added. been added.
* "git-send-pack $remote frotz" segfaulted when there is nothing
named 'frotz' on the local end.
* "git-rebase -interactive" did not handle its "--strategy" option
properly.
-- --
exec >/var/tmp/1 exec >/var/tmp/1
O=v1.5.3.4-55-gf120ae2 O=v1.5.3.4-65-gf91333d
echo O=`git describe refs/heads/maint` echo O=`git describe refs/heads/maint`
git shortlog --no-merges $O..refs/heads/maint git shortlog --no-merges $O..refs/heads/maint

Просмотреть файл

@ -878,7 +878,7 @@ script called `git merge`, which wants to know which branches you want
to resolve and what the merge is all about: to resolve and what the merge is all about:
------------ ------------
$ git merge "Merge work in mybranch" HEAD mybranch $ git merge -m "Merge work in mybranch" mybranch
------------ ------------
where the first argument is going to be used as the commit message if where the first argument is going to be used as the commit message if
@ -965,7 +965,7 @@ to the `master` branch. Let's go back to `mybranch`, and run
------------ ------------
$ git checkout mybranch $ git checkout mybranch
$ git merge "Merge upstream changes." HEAD master $ git merge -m "Merge upstream changes." master
------------ ------------
This outputs something like this (the actual commit object names This outputs something like this (the actual commit object names
@ -1607,8 +1607,8 @@ in both of them. You could merge in 'diff-fix' first and then
'commit-fix' next, like this: 'commit-fix' next, like this:
------------ ------------
$ git merge 'Merge fix in diff-fix' master diff-fix $ git merge -m 'Merge fix in diff-fix' diff-fix
$ git merge 'Merge fix in commit-fix' master commit-fix $ git merge -m 'Merge fix in commit-fix' commit-fix
------------ ------------
Which would result in: Which would result in:

Просмотреть файл

@ -73,7 +73,7 @@ Merge one patch into CVS::
$ export GIT_DIR=~/project/.git $ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout $ cd ~/project_cvs_checkout
$ git-cvsexportcommit -v <commit-sha1> $ git-cvsexportcommit -v <commit-sha1>
$ cvs commit -F .mgs <files> $ cvs commit -F .msg <files>
------------ ------------
Merge pending patches into CVS automatically -- only if you really know what you are doing:: Merge pending patches into CVS automatically -- only if you really know what you are doing::

Просмотреть файл

@ -11,26 +11,27 @@ SYNOPSIS
[verse] [verse]
'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]... 'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...
[-m <msg>] <remote> <remote>... [-m <msg>] <remote> <remote>...
'git-merge' <msg> HEAD <remote>...
DESCRIPTION DESCRIPTION
----------- -----------
This is the top-level interface to the merge machinery This is the top-level interface to the merge machinery
which drives multiple merge strategy scripts. which drives multiple merge strategy scripts.
The second syntax (<msg> `HEAD` <remote>) is supported for
historical reasons. Do not use it from the command line or in
new scripts. It is the same as `git merge -m <msg> <remote>`.
OPTIONS OPTIONS
------- -------
include::merge-options.txt[] include::merge-options.txt[]
<msg>:: -m <msg>::
The commit message to be used for the merge commit (in case The commit message to be used for the merge commit (in case
it is created). The `git-fmt-merge-msg` script can be used it is created). The `git-fmt-merge-msg` script can be used
to give a good default for automated `git-merge` invocations. to give a good default for automated `git-merge` invocations.
<head>::
Our branch head commit. This has to be `HEAD`, so new
syntax does not require it
<remote>:: <remote>::
Other branch head merged into our branch. You need at Other branch head merged into our branch. You need at
least one <remote>. Specifying more than one <remote> least one <remote>. Specifying more than one <remote>

Просмотреть файл

@ -349,7 +349,7 @@ static int revert_or_cherry_pick(int argc, const char **argv)
die ("Error wrapping up %s", defmsg); die ("Error wrapping up %s", defmsg);
fprintf(stderr, "Automatic %s failed. " fprintf(stderr, "Automatic %s failed. "
"After resolving the conflicts,\n" "After resolving the conflicts,\n"
"mark the corrected paths with 'git-add <paths>'\n" "mark the corrected paths with 'git add <paths>' "
"and commit the result.\n", me); "and commit the result.\n", me);
if (action == CHERRY_PICK) { if (action == CHERRY_PICK) {
fprintf(stderr, "When commiting, use the option " fprintf(stderr, "When commiting, use the option "

Просмотреть файл

@ -116,7 +116,7 @@ pick_one () {
sha1=$(git rev-parse --short $sha1) sha1=$(git rev-parse --short $sha1)
output warn Fast forward to $sha1 output warn Fast forward to $sha1
else else
output git cherry-pick $STRATEGY "$@" output git cherry-pick "$@"
fi fi
} }
@ -172,6 +172,8 @@ pick_one_preserving_merges () {
author_script=$(get_author_ident_from_commit $sha1) author_script=$(get_author_ident_from_commit $sha1)
eval "$author_script" eval "$author_script"
msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')" msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')"
# No point in merging the first parent, that's HEAD
new_parents=${new_parents# $first_parent}
# NEEDSWORK: give rerere a chance # NEEDSWORK: give rerere a chance
if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \
GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \
@ -184,7 +186,7 @@ pick_one_preserving_merges () {
fi fi
;; ;;
*) *)
output git cherry-pick $STRATEGY "$@" || output git cherry-pick "$@" ||
die_with_patch $sha1 "Could not pick $sha1" die_with_patch $sha1 "Could not pick $sha1"
;; ;;
esac esac
@ -387,7 +389,6 @@ do
output git reset --hard && do_rest output git reset --hard && do_rest
;; ;;
-s|--strategy) -s|--strategy)
shift
case "$#,$1" in case "$#,$1" in
*,*=*) *,*=*)
STRATEGY="-s `expr "z$1" : 'z-[^=]*=\(.*\)'`" ;; STRATEGY="-s `expr "z$1" : 'z-[^=]*=\(.*\)'`" ;;