git-rebase--common.shon commit contrib/completion: add smerge to the mergetool completion candidates (f57b2ae)
   1
   2resolvemsg="
   3$(gettext 'Resolve all conflicts manually, mark them as resolved with
   4"git add/rm <conflicted_files>", then run "git rebase --continue".
   5You can instead skip this commit: run "git rebase --skip".
   6To abort and get back to the state before "git rebase", run "git rebase --abort".')
   7"
   8
   9write_basic_state () {
  10        echo "$head_name" > "$state_dir"/head-name &&
  11        echo "$onto" > "$state_dir"/onto &&
  12        echo "$orig_head" > "$state_dir"/orig-head &&
  13        test t = "$GIT_QUIET" && : > "$state_dir"/quiet
  14        test t = "$verbose" && : > "$state_dir"/verbose
  15        test -n "$strategy" && echo "$strategy" > "$state_dir"/strategy
  16        test -n "$strategy_opts" && echo "$strategy_opts" > \
  17                "$state_dir"/strategy_opts
  18        test -n "$allow_rerere_autoupdate" && echo "$allow_rerere_autoupdate" > \
  19                "$state_dir"/allow_rerere_autoupdate
  20        test -n "$gpg_sign_opt" && echo "$gpg_sign_opt" > "$state_dir"/gpg_sign_opt
  21        test -n "$signoff" && echo "$signoff" >"$state_dir"/signoff
  22        test -n "$reschedule_failed_exec" && : > "$state_dir"/reschedule-failed-exec
  23}
  24
  25apply_autostash () {
  26        if test -f "$state_dir/autostash"
  27        then
  28                stash_sha1=$(cat "$state_dir/autostash")
  29                if git stash apply $stash_sha1 >/dev/null 2>&1
  30                then
  31                        echo "$(gettext 'Applied autostash.')" >&2
  32                else
  33                        git stash store -m "autostash" -q $stash_sha1 ||
  34                        die "$(eval_gettext "Cannot store \$stash_sha1")"
  35                        gettext 'Applying autostash resulted in conflicts.
  36Your changes are safe in the stash.
  37You can run "git stash pop" or "git stash drop" at any time.
  38' >&2
  39                fi
  40        fi
  41}
  42
  43move_to_original_branch () {
  44        case "$head_name" in
  45        refs/*)
  46                message="rebase finished: $head_name onto $onto"
  47                git update-ref -m "$message" \
  48                        $head_name $(git rev-parse HEAD) $orig_head &&
  49                git symbolic-ref \
  50                        -m "rebase finished: returning to $head_name" \
  51                        HEAD $head_name ||
  52                die "$(eval_gettext "Could not move back to \$head_name")"
  53                ;;
  54        esac
  55}
  56
  57output () {
  58        case "$verbose" in
  59        '')
  60                output=$("$@" 2>&1 )
  61                status=$?
  62                test $status != 0 && printf "%s\n" "$output"
  63                return $status
  64                ;;
  65        *)
  66                "$@"
  67                ;;
  68        esac
  69}