git-legacy-rebase: simplify unnecessary triply-nested if

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

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2018-12-11 08:11:37 -08:00 committed by Junio C Hamano
parent 899b49c446
commit 7b76ac664c

View File

@ -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