}
append_todo_help () {
- git stripspace --comment-lines >>"$todo" <<\EOF
-
+ gettext "
Commands:
p, pick = use commit
r, reword = use commit, but edit the commit message
e, edit = use commit, but stop for amending
s, squash = use commit, but meld into previous commit
- f, fixup = like "squash", but discard this commit's log message
+ f, fixup = like \"squash\", but discard this commit's log message
x, exec = run command (the rest of the line) using shell
d, drop = remove commit
These lines can be re-ordered; they are executed from top to bottom.
+" | git stripspace --comment-lines >>"$todo"
-EOF
if test $(get_missing_commit_check_level) = error
then
- git stripspace --comment-lines >>"$todo" <<\EOF
+ gettext "
Do not remove any line. Use 'drop' explicitly to remove a commit.
-EOF
+" | git stripspace --comment-lines >>"$todo"
else
- git stripspace --comment-lines >>"$todo" <<\EOF
+ gettext "
If you remove a line here THAT COMMIT WILL BE LOST.
-EOF
+" | git stripspace --comment-lines >>"$todo"
fi
}
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"
}
esac
}
-nth_string () {
- case "$1" in
- *1[0-9]|*[04-9]) echo "$1"th;;
- *1) echo "$1"st;;
- *2) echo "$1"nd;;
- *3) echo "$1"rd;;
- esac
+this_nth_commit_message () {
+ n=$1
+ eval_gettext "This is the commit message #\${n}:"
+}
+
+skip_nth_commit_message () {
+ n=$1
+ eval_gettext "The commit message #\${n} will be skipped:"
}
update_squash_messages () {
if test -f "$squash_msg"; then
mv "$squash_msg" "$squash_msg".bak || exit
count=$(($(sed -n \
- -e "1s/^. This is a combination of \(.*\) commits\./\1/p" \
+ -e "1s/^$comment_char.*\([0-9][0-9]*\).*/\1/p" \
-e "q" < "$squash_msg".bak)+1))
{
- printf '%s\n' "$comment_char This is a combination of $count commits."
+ printf '%s\n' "$comment_char $(eval_ngettext \
+ "This is a combination of \$count commit." \
+ "This is a combination of \$count commits." \
+ $count)"
sed -e 1d -e '2,/^./{
/^$/d
}' <"$squash_msg".bak
} >"$squash_msg"
else
- commit_message HEAD > "$fixup_msg" || die "Cannot write $fixup_msg"
+ commit_message HEAD > "$fixup_msg" || die "$(gettext "Cannot write \$fixup_msg")"
count=2
{
- printf '%s\n' "$comment_char This is a combination of 2 commits."
- printf '%s\n' "$comment_char The first commit's message is:"
+ printf '%s\n' "$comment_char $(gettext "This is a combination of 2 commits.")"
+ printf '%s\n' "$comment_char $(gettext "This is the 1st commit message:")"
echo
cat "$fixup_msg"
} >"$squash_msg"
squash)
rm -f "$fixup_msg"
echo
- printf '%s\n' "$comment_char This is the $(nth_string $count) commit message:"
+ printf '%s\n' "$comment_char $(this_nth_commit_message $count)"
echo
commit_message $2
;;
fixup)
echo
- printf '%s\n' "$comment_char The $(nth_string $count) commit message will be skipped:"
+ printf '%s\n' "$comment_char $(skip_nth_commit_message $count)"
echo
# Change the space after the comment character to TAB:
commit_message $2 | git stripspace --comment-lines | sed -e 's/ / /'
# 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 () {
mv -f "$todo".new "$todo"
collapse_todo_ids
append_todo_help
- git stripspace --comment-lines >>"$todo" <<\EOF
-
+ gettext "
You are editing the todo file of an ongoing interactive rebase.
To continue rebase after editing, run:
git rebase --continue
-EOF
+" | git stripspace --comment-lines >>"$todo"
git_sequence_editor "$todo" ||
die "$(gettext "Could not execute editor")"
cat >>"$todo" <<EOF
-$comment_char Rebase $shortrevisions onto $shortonto ($todocount command(s))
+$comment_char $(eval_ngettext \
+ "Rebase \$shortrevisions onto \$shortonto (\$todocount command)" \
+ "Rebase \$shortrevisions onto \$shortonto (\$todocount commands)" \
+ "$todocount")
EOF
append_todo_help
-git stripspace --comment-lines >>"$todo" <<\EOF
-
+gettext "
However, if you remove everything, the rebase will be aborted.
-EOF
+" | git stripspace --comment-lines >>"$todo"
if test -z "$keep_empty"
then