diff options
Diffstat (limited to 'git-rebase--am.sh')
| -rw-r--r-- | git-rebase--am.sh | 23 | 
1 files changed, 17 insertions, 6 deletions
diff --git a/git-rebase--am.sh b/git-rebase--am.sh index 1cdc13944c..f923732333 100644 --- a/git-rebase--am.sh +++ b/git-rebase--am.sh @@ -17,7 +17,8 @@ git_rebase__am () {  case "$action" in  continue) -	git am --resolved --resolvemsg="$resolvemsg" && +	git am --resolved --resolvemsg="$resolvemsg" \ +		${gpg_sign_opt:+"$gpg_sign_opt"} &&  	move_to_original_branch  	return  	;; @@ -28,7 +29,13 @@ skip)  	;;  esac -test -n "$rebase_root" && root_flag=--root +if test -z "$rebase_root" +	# this is now equivalent to ! -z "$upstream" +then +	revisions=$upstream...$orig_head +else +	revisions=$onto...$orig_head +fi  ret=0  if test -n "$keep_empty" @@ -37,14 +44,17 @@ then  	# empty commits and even if it didn't the format doesn't really lend  	# itself well to recording empty patches.  fortunately, cherry-pick  	# makes this easy -	git cherry-pick --allow-empty "$revisions" +	git cherry-pick ${gpg_sign_opt:+"$gpg_sign_opt"} --allow-empty \ +		--right-only "$revisions" \ +		${restrict_revision+^$restrict_revision}  	ret=$?  else  	rm -f "$GIT_DIR/rebased-patches" -	git format-patch -k --stdout --full-index --ignore-if-in-upstream \ +	git format-patch -k --stdout --full-index --cherry-pick --right-only \  		--src-prefix=a/ --dst-prefix=b/ --no-renames --no-cover-letter \ -		$root_flag "$revisions" >"$GIT_DIR/rebased-patches" +		"$revisions" ${restrict_revision+^$restrict_revision} \ +		>"$GIT_DIR/rebased-patches"  	ret=$?  	if test 0 != $ret @@ -71,7 +81,8 @@ else  		return $?  	fi -	git am $git_am_opt --rebasing --resolvemsg="$resolvemsg" <"$GIT_DIR/rebased-patches" +	git am $git_am_opt --rebasing --resolvemsg="$resolvemsg" \ +		${gpg_sign_opt:+"$gpg_sign_opt"} <"$GIT_DIR/rebased-patches"  	ret=$?  	rm -f "$GIT_DIR/rebased-patches"  | 
