The git-legacy-rebase.sh script previously had code of the form: if git_am_opt: if interactive: if incompatible_opts: show_error_about_interactive_and_am_incompatibilities if rebase-merge: if incompatible_opts show_error_about_merge_and_am_incompatibilities which was a triply nested if. However, the first conditional (git_am_opt) and third (incompatible_opts) were somewhat redundant: the latter condition was a strict subset of the former. Simplify this by moving the innermost conditional to the outside, allowing us to remove the test on git_am_opt entirely and giving us the following form: if incompatible_opts: if interactive: show_error_about_interactive_and_am_incompatibilities if rebase-merge: show_error_about_merge_and_am_incompatibilities Acked-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> Signed-off-by: Elijah Newren <newren@xxxxxxxxx> --- git-legacy-rebase.sh | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/git-legacy-rebase.sh b/git-legacy-rebase.sh index f4088b7bda..6baf10192d 100755 --- a/git-legacy-rebase.sh +++ b/git-legacy-rebase.sh @@ -501,21 +501,17 @@ then git_format_patch_opt="$git_format_patch_opt --progress" fi -if test -n "$git_am_opt"; then - incompatible_opts=$(echo " $git_am_opt " | \ - sed -e 's/ -q / /g' -e 's/^ \(.*\) $/\1/') +incompatible_opts=$(echo " $git_am_opt " | \ + sed -e 's/ -q / /g' -e 's/^ \(.*\) $/\1/') +if test -n "$incompatible_opts" +then if test -n "$interactive_rebase" then - if test -n "$incompatible_opts" - then - die "$(gettext "fatal: cannot combine am options with interactive options")" - fi + die "$(gettext "fatal: cannot combine am options with interactive options")" fi - if test -n "$do_merge"; then - if test -n "$incompatible_opts" - then - die "$(gettext "fatal: cannot combine am options with merge options")" - fi + if test -n "$do_merge" + then + die "$(gettext "fatal: cannot combine am options with merge options")" fi fi -- 2.20.1.310.g17ca096f17