зеркало из https://github.com/microsoft/git.git
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:
Коммит
9c51414f8e
|
@ -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-[^=]*=\(.*\)'`" ;;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче