GIT_CHERRY_PICK_HELP="$resolvemsg"
export GIT_CHERRY_PICK_HELP
-comment_char=$(git config --get core.commentchar 2>/dev/null | cut -c1)
-: ${comment_char:=#}
+comment_char=$(git config --get core.commentchar 2>/dev/null)
+case "$comment_char" in
+'' | auto)
+ comment_char="#"
+ ;;
+?)
+ ;;
+*)
+ comment_char=$(echo "$comment_char" | cut -c1)
+ ;;
+esac
warn () {
printf '%s\n' "$*" >&2
sed -e 1q < "$todo" >> "$done"
sed -e 1d < "$todo" >> "$todo".new
mv -f "$todo".new "$todo"
- new_count=$(git stripspace --strip-comments <"$done" | wc -l)
+ new_count=$(( $(git stripspace --strip-comments <"$done" | wc -l) ))
echo $new_count >"$msgnum"
total=$(($new_count + $(git stripspace --strip-comments <"$todo" | wc -l)))
echo $total >"$end"
die_with_patch () {
echo "$1" > "$state_dir"/stopped-sha
make_patch "$1"
- git rerere
die "$2"
}
}
die_abort () {
+ apply_autostash
rm -rf "$state_dir"
die "$1"
}
this_nth_commit_message () {
n=$1
- case "$n" in
- 1) gettext "This is the 1st commit message:";;
- 2) gettext "This is the 2nd commit message:";;
- 3) gettext "This is the 3rd commit message:";;
- 4) gettext "This is the 4th commit message:";;
- 5) gettext "This is the 5th commit message:";;
- 6) gettext "This is the 6th commit message:";;
- 7) gettext "This is the 7th commit message:";;
- 8) gettext "This is the 8th commit message:";;
- 9) gettext "This is the 9th commit message:";;
- 10) gettext "This is the 10th commit message:";;
- # TRANSLATORS: if the language you are translating into
- # doesn't allow you to compose a sentence in this fashion,
- # consider translating as if this and the following few strings
- # were "This is the commit message ${n}:"
- *1[0-9]|*[04-9]) eval_gettext "This is the \${n}th commit message:";;
- *1) eval_gettext "This is the \${n}st commit message:";;
- *2) eval_gettext "This is the \${n}nd commit message:";;
- *3) eval_gettext "This is the \${n}rd commit message:";;
- *) eval_gettext "This is the commit message \${n}:";;
- esac
+ eval_gettext "This is the commit message #\${n}:"
}
+
skip_nth_commit_message () {
n=$1
- case "$n" in
- 1) gettext "The 1st commit message will be skipped:";;
- 2) gettext "The 2nd commit message will be skipped:";;
- 3) gettext "The 3rd commit message will be skipped:";;
- 4) gettext "The 4th commit message will be skipped:";;
- 5) gettext "The 5th commit message will be skipped:";;
- 6) gettext "The 6th commit message will be skipped:";;
- 7) gettext "The 7th commit message will be skipped:";;
- 8) gettext "The 8th commit message will be skipped:";;
- 9) gettext "The 9th commit message will be skipped:";;
- 10) gettext "The 10th commit message will be skipped:";;
- # TRANSLATORS: if the language you are translating into
- # doesn't allow you to compose a sentence in this fashion,
- # consider translating as if this and the following few strings
- # were "The commit message ${n} will be skipped:"
- *1[0-9]|*[04-9]) eval_gettext "The \${n}th commit message will be skipped:";;
- *1) eval_gettext "The \${n}st commit message will be skipped:";;
- *2) eval_gettext "The \${n}nd commit message will be skipped:";;
- *3) eval_gettext "The \${n}rd commit message will be skipped:";;
- *) eval_gettext "The commit message \${n} will be skipped:";;
- esac
+ eval_gettext "The commit message #\${n} will be skipped:"
}
update_squash_messages () {
# placed before the commit of the next action
checkout_onto
- warn "$(gettext "You can fix this with 'git rebase --edit-todo'.")"
+ warn "$(gettext "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.")"
die "$(gettext "Or you can abort the rebase with 'git rebase --abort'.")"
fi
}
# below were not inside any function, and expected to return
# to the function that dot-sourced us.
#
-# However, FreeBSD /bin/sh misbehaves on such a construct and
-# continues to run the statements that follow such a "return".
+# However, older (9.x) versions of FreeBSD /bin/sh misbehave on such a
+# construct and continue to run the statements that follow such a "return".
# As a work-around, we introduce an extra layer of a function
# here, and immediately call it after defining it.
git_rebase__interactive () {
git commit \$gpg_sign_opt_quoted
-In both case, once you're done, continue with:
+In both cases, once you're done, continue with:
git rebase --continue
")"
;;
esac
-git var GIT_COMMITTER_IDENT >/dev/null ||
- die "$(gettext "You need to set your committer info first")"
-
comment_for_reflog start
if test ! -z "$switch_to"