--- Makefile | 2 +- git-rebase--merge.sh (mode +x) | 34 ++++++++++++++++++++++++++++++++++ git-rebase.sh | 2 ++ 3 files changed, 37 insertions(+), 1 deletion(-) mode change 100644 => 100755 git-rebase--merge.sh diff --git a/Makefile b/Makefile index 93151f4..7ee8df7 100644 --- a/Makefile +++ b/Makefile @@ -446,6 +446,7 @@ SCRIPT_SH += git-pull.sh SCRIPT_SH += git-quiltimport.sh SCRIPT_SH += git-rebase.sh SCRIPT_SH += git-rebase--am.sh +SCRIPT_SH += git-rebase--merge.sh SCRIPT_SH += git-repack.sh SCRIPT_SH += git-request-pull.sh SCRIPT_SH += git-stash.sh @@ -455,7 +456,6 @@ SCRIPT_SH += git-web--browse.sh SCRIPT_LIB += git-mergetool--lib SCRIPT_LIB += git-parse-remote SCRIPT_LIB += git-rebase--interactive -SCRIPT_LIB += git-rebase--merge SCRIPT_LIB += git-sh-setup SCRIPT_LIB += git-sh-i18n diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh old mode 100644 new mode 100755 index b10f2cf..baaef41 --- a/git-rebase--merge.sh +++ b/git-rebase--merge.sh @@ -3,8 +3,42 @@ # Copyright (c) 2010 Junio C Hamano. # +. git-sh-setup +. git-sh-i18n +set_reflog_action rebase +require_work_tree_exists + +GIT_QUIET=$git_quiet + prec=4 +write_basic_state () { + echo "$head_name" > "$state_dir"/head-name && + echo "$onto" > "$state_dir"/onto && + echo "$orig_head" > "$state_dir"/orig-head && + echo "$GIT_QUIET" > "$state_dir"/quiet && + test t = "$verbose" && : > "$state_dir"/verbose + test -n "$strategy" && echo "$strategy" > "$state_dir"/strategy + test -n "$strategy_opts" && echo "$strategy_opts" > \ + "$state_dir"/strategy_opts + test -n "$allow_rerere_autoupdate" && echo "$allow_rerere_autoupdate" > \ + "$state_dir"/allow_rerere_autoupdate +} + +move_to_original_branch () { + case "$head_name" in + refs/*) + message="rebase finished: $head_name onto $onto" + git update-ref -m "$message" \ + $head_name $(git rev-parse HEAD) $orig_head && + git symbolic-ref \ + -m "rebase finished: returning to $head_name" \ + HEAD $head_name || + die "$(gettext "Could not move back to $head_name")" + ;; + esac +} + read_state () { onto_name=$(cat "$state_dir"/onto_name) && end=$(cat "$state_dir"/end) && diff --git a/git-rebase.sh b/git-rebase.sh index 42e868d..ff2c2ae 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -156,6 +156,8 @@ run_specific_rebase () { export state_dir verbose strategy strategy_opts if [ "$type" = am ]; then exec git-rebase--am + elif [ "$type" = merge ]; then + exec git-rebase--merge else . git-rebase--$type fi -- 2.3.0.rc1.137.g477eb31 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html