[PATCH/RFC 04/10] Move redo merge code in a function
From: Jörg Sommer <hidden>
Date: 2016-06-15 22:44:28
Subsystem:
the rest · Maintainer:
Linus Torvalds
--- git-rebase--interactive.sh | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 18cdf3d..973770e 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh@@ -114,6 +114,22 @@ has_action () { grep '^[^#]' "$1" >/dev/null } +redo_merge() { + author_script=$(get_author_ident_from_commit $sha1) + eval "$author_script" + msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')" + if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ + GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ + GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ + output git merge $STRATEGY -m "$msg" \ + $new_parents + then + git rerere + printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG + die Error redoing merge $sha1 + fi +} + pick_one () { no_ff= case "$1" in -n) sha1=$2; no_ff=t ;; *) sha1=$1 ;; esac
@@ -181,22 +197,9 @@ pick_one_preserving_merges () { echo $sha1 > "$DOTEST"/current-commit case "$new_parents" in ' '*' '*) - # redo merge - author_script=$(get_author_ident_from_commit $sha1) - eval "$author_script" - 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} - if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ - GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ - GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ - output git merge $STRATEGY -m "$msg" \ - $new_parents - then - git rerere - printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG - die Error redoing merge $sha1 - fi + redo_merge ;; *) output git cherry-pick "$@" ||
--
1.5.4.5