add -C[NUM] to git-am
Add -C[NUM] to git-am and git-rebase so that patches can be applied even if context has changed a bit. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
66e788bc7f
commit
67dad687ad
@ -64,6 +64,10 @@ default. You could use `--no-utf8` to override this.
|
|||||||
This flag is passed to the `git-apply` program that applies
|
This flag is passed to the `git-apply` program that applies
|
||||||
the patch.
|
the patch.
|
||||||
|
|
||||||
|
-C<n>::
|
||||||
|
This flag is passed to the `git-apply` program that applies
|
||||||
|
the patch.
|
||||||
|
|
||||||
--interactive::
|
--interactive::
|
||||||
Run interactively, just like git-applymbox.
|
Run interactively, just like git-applymbox.
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ git-rebase - Forward-port local commits to the updated upstream head
|
|||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-rebase' [-v] [--merge] [--onto <newbase>] <upstream> [<branch>]
|
'git-rebase' [-v] [--merge] [-CNUM] [--onto <newbase>] <upstream> [<branch>]
|
||||||
|
|
||||||
'git-rebase' --continue | --skip | --abort
|
'git-rebase' --continue | --skip | --abort
|
||||||
|
|
||||||
@ -196,6 +196,12 @@ OPTIONS
|
|||||||
-v, \--verbose::
|
-v, \--verbose::
|
||||||
Display a diffstat of what changed upstream since the last rebase.
|
Display a diffstat of what changed upstream since the last rebase.
|
||||||
|
|
||||||
|
-C<n>::
|
||||||
|
Ensure at least <n> lines of surrounding context match before
|
||||||
|
and after each change. When fewer lines of surrounding
|
||||||
|
context exist they all must match. By default no context is
|
||||||
|
ever ignored.
|
||||||
|
|
||||||
include::merge-strategies.txt[]
|
include::merge-strategies.txt[]
|
||||||
|
|
||||||
NOTES
|
NOTES
|
||||||
|
12
git-am.sh
12
git-am.sh
@ -3,7 +3,7 @@
|
|||||||
# Copyright (c) 2005, 2006 Junio C Hamano
|
# Copyright (c) 2005, 2006 Junio C Hamano
|
||||||
|
|
||||||
USAGE='[--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way]
|
USAGE='[--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way]
|
||||||
[--interactive] [--whitespace=<option>] <mbox>...
|
[--interactive] [--whitespace=<option>] [-CNUM] <mbox>...
|
||||||
or, when resuming [--skip | --resolved]'
|
or, when resuming [--skip | --resolved]'
|
||||||
. git-sh-setup
|
. git-sh-setup
|
||||||
set_reflog_action am
|
set_reflog_action am
|
||||||
@ -106,7 +106,8 @@ It does not apply to blobs recorded in its index."
|
|||||||
}
|
}
|
||||||
|
|
||||||
prec=4
|
prec=4
|
||||||
dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= ws= resolvemsg=
|
dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= resolvemsg=
|
||||||
|
git_apply_opt=
|
||||||
|
|
||||||
while case "$#" in 0) break;; esac
|
while case "$#" in 0) break;; esac
|
||||||
do
|
do
|
||||||
@ -142,7 +143,10 @@ do
|
|||||||
skip=t; shift ;;
|
skip=t; shift ;;
|
||||||
|
|
||||||
--whitespace=*)
|
--whitespace=*)
|
||||||
ws=$1; shift ;;
|
git_apply_opt="$git_apply_opt $1"; shift ;;
|
||||||
|
|
||||||
|
-C*)
|
||||||
|
git_apply_opt="$git_apply_opt $1"; shift ;;
|
||||||
|
|
||||||
--resolvemsg=*)
|
--resolvemsg=*)
|
||||||
resolvemsg=$(echo "$1" | sed -e "s/^--resolvemsg=//"); shift ;;
|
resolvemsg=$(echo "$1" | sed -e "s/^--resolvemsg=//"); shift ;;
|
||||||
@ -394,7 +398,7 @@ do
|
|||||||
|
|
||||||
case "$resolved" in
|
case "$resolved" in
|
||||||
'')
|
'')
|
||||||
git-apply $binary --index $ws "$dotest/patch"
|
git-apply $git_apply_opt $binary --index "$dotest/patch"
|
||||||
apply_status=$?
|
apply_status=$?
|
||||||
;;
|
;;
|
||||||
t)
|
t)
|
||||||
|
@ -45,6 +45,7 @@ do_merge=
|
|||||||
dotest=$GIT_DIR/.dotest-merge
|
dotest=$GIT_DIR/.dotest-merge
|
||||||
prec=4
|
prec=4
|
||||||
verbose=
|
verbose=
|
||||||
|
git_am_opt=
|
||||||
|
|
||||||
continue_merge () {
|
continue_merge () {
|
||||||
test -n "$prev_head" || die "prev_head must be defined"
|
test -n "$prev_head" || die "prev_head must be defined"
|
||||||
@ -213,6 +214,10 @@ do
|
|||||||
-v|--verbose)
|
-v|--verbose)
|
||||||
verbose=t
|
verbose=t
|
||||||
;;
|
;;
|
||||||
|
-C*)
|
||||||
|
git_am_opt=$1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
-*)
|
-*)
|
||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
@ -322,7 +327,7 @@ fi
|
|||||||
if test -z "$do_merge"
|
if test -z "$do_merge"
|
||||||
then
|
then
|
||||||
git-format-patch -k --stdout --full-index --ignore-if-in-upstream "$upstream"..ORIG_HEAD |
|
git-format-patch -k --stdout --full-index --ignore-if-in-upstream "$upstream"..ORIG_HEAD |
|
||||||
git am --binary -3 -k --resolvemsg="$RESOLVEMSG"
|
git am $git_am_opt --binary -3 -k --resolvemsg="$RESOLVEMSG"
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user