test "$(git config --bool rebase.autosquash)" = "true" && AUTOSQUASH=t
NEVER_FF=
-GIT_CHERRY_PICK_HELP=" After resolving the conflicts,
-mark the corrected paths with 'git add <paths>', and
-run 'git rebase --continue'"
+GIT_CHERRY_PICK_HELP="\
+hint: after resolving the conflicts, mark the corrected paths
+hint: with 'git add <paths>' and run 'git rebase --continue'"
export GIT_CHERRY_PICK_HELP
warn () {
case "$fd,$command" in
3,pick|3,p)
# pick a commit whose parent is current $ONTO -> skip
- sha1=$(printf '%s' "$rest" | cut -d ' ' -f 1)
+ sha1=${rest%% *}
case "$(git rev-parse --verify --quiet "$sha1"^)" in
"$ONTO"*)
ONTO=$sha1
if test ! -z "$1"
then
- output git checkout "$1" ||
+ output git checkout "$1" -- ||
die "Could not checkout $1"
fi
# 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
-# x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
+# x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.