From: Elijah Newren <newren@gmail.com>
To: <git@vger.kernel.org>
Cc: <gitster@pobox.com>, <Johannes.Schindelin@gmx.de>,
<predatoramigo@gmail.com>, <phillip.wood@talktalk.net>,
Elijah Newren <newren@gmail.com>
Subject: [PATCH v3 5/7] git-legacy-rebase: simplify unnecessary triply-nested if
Date: Wed, 21 Nov 2018 20:48:39 -0800 [thread overview]
Message-ID: <20181122044841.20993-6-newren@gmail.com> (raw)
In-Reply-To: <20181122044841.20993-1-newren@gmail.com>
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 incomptable_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>
---
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 d01eef9876..425189bde1 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 "error: cannot combine am options with interactive options")"
- fi
+ die "$(gettext "error: cannot combine am options with interactive options")"
fi
- if test -n "$do_merge"; then
- if test -n "$incompatible_opts"
- then
- die "$(gettext "error: cannot combine am options with merge options")"
- fi
+ if test -n "$do_merge"
+ then
+ die "$(gettext "error: cannot combine am options with merge options")"
fi
fi
--
2.20.0.rc1.7.g58371d377a
next prev parent reply other threads:[~2018-11-22 4:48 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-08 6:01 [PATCH v2 0/2] Reimplement rebase --merge via interactive machinery Elijah Newren
2018-11-08 6:01 ` [PATCH v2 1/2] git-rebase, sequencer: extend --quiet option for the " Elijah Newren
2018-11-12 15:11 ` Johannes Schindelin
2018-11-08 6:01 ` [PATCH v2 2/2] rebase: Implement --merge via git-rebase--interactive Elijah Newren
2018-11-12 16:21 ` Johannes Schindelin
2018-11-12 18:21 ` Phillip Wood
2018-11-13 9:18 ` Johannes Schindelin
2018-11-14 23:06 ` Elijah Newren
2018-11-13 16:06 ` Elijah Newren
2018-11-14 23:03 ` Elijah Newren
2018-11-15 12:27 ` Johannes Schindelin
2018-11-08 6:33 ` [PATCH v2 0/2] Reimplement rebase --merge via interactive machinery Elijah Newren
2018-11-22 4:48 ` [PATCH v3 0/7] " Elijah Newren
2018-11-22 4:48 ` [PATCH v3 1/7] rebase: fix incompatible options error message Elijah Newren
2018-11-28 8:28 ` Johannes Schindelin
2018-11-28 15:58 ` Elijah Newren
2018-11-28 16:12 ` Duy Nguyen
2018-11-28 16:31 ` Elijah Newren
2018-11-22 4:48 ` [PATCH v3 2/7] t5407: add a test demonstrating how interactive handles --skip differently Elijah Newren
2018-11-22 4:48 ` [PATCH v3 3/7] am, rebase--merge: do not overlook --skip'ed commits with post-rewrite Elijah Newren
2018-11-22 4:48 ` [PATCH v3 4/7] git-rebase, sequencer: extend --quiet option for the interactive machinery Elijah Newren
2018-11-22 4:48 ` Elijah Newren [this message]
2018-11-22 4:48 ` [PATCH v3 6/7] rebase: define linearization ordering and enforce it Elijah Newren
2018-11-22 4:48 ` [PATCH v3 7/7] rebase: Implement --merge via the interactive machinery Elijah Newren
2018-12-11 16:11 ` [PATCH v4 0/8] Reimplement rebase --merge via " Elijah Newren
2018-12-11 16:11 ` [PATCH v4 1/8] rebase: make builtin and legacy script error messages the same Elijah Newren
2018-12-11 16:11 ` [PATCH v4 2/8] rebase: fix incompatible options error message Elijah Newren
2018-12-11 16:11 ` [PATCH v4 3/8] t5407: add a test demonstrating how interactive handles --skip differently Elijah Newren
2018-12-11 16:11 ` [PATCH v4 4/8] am, rebase--merge: do not overlook --skip'ed commits with post-rewrite Elijah Newren
2019-01-21 16:07 ` Johannes Schindelin
2019-01-21 17:59 ` Elijah Newren
2019-01-21 18:11 ` Johannes Schindelin
2018-12-11 16:11 ` [PATCH v4 5/8] git-rebase, sequencer: extend --quiet option for the interactive machinery Elijah Newren
2019-01-21 16:10 ` Johannes Schindelin
2019-01-21 17:50 ` Elijah Newren
2019-01-21 18:19 ` Johannes Schindelin
2019-01-21 18:22 ` Johannes Schindelin
2019-01-22 20:39 ` Junio C Hamano
2019-02-20 11:00 ` Phillip Wood
2019-02-21 17:44 ` Elijah Newren
2018-12-11 16:11 ` [PATCH v4 6/8] git-legacy-rebase: simplify unnecessary triply-nested if Elijah Newren
2018-12-11 16:11 ` [PATCH v4 7/8] rebase: define linearization ordering and enforce it Elijah Newren
2018-12-11 16:11 ` [PATCH v4 8/8] rebase: Implement --merge via the interactive machinery Elijah Newren
2019-01-07 17:15 ` [PATCH v4 0/8] Reimplement rebase --merge via " Elijah Newren
2019-01-07 19:46 ` Junio C Hamano
2019-01-07 20:11 ` Junio C Hamano
2019-01-07 20:39 ` Elijah Newren
2019-01-11 18:36 ` Elijah Newren
2019-01-18 13:36 ` Johannes Schindelin
2019-01-18 14:22 ` Johannes Schindelin
2019-01-18 17:55 ` Junio C Hamano
2019-01-18 18:07 ` Elijah Newren
2019-01-18 21:03 ` Johannes Schindelin
2019-01-18 21:21 ` Junio C Hamano
2019-01-21 21:02 ` Johannes Schindelin
2019-01-21 16:03 ` Johannes Schindelin
2019-01-21 21:01 ` Johannes Schindelin
2019-01-21 21:04 ` Elijah Newren
2019-01-29 1:39 ` [PATCH v5 " Elijah Newren
2019-01-29 1:39 ` [PATCH v5 1/8] rebase: make builtin and legacy script error messages the same Elijah Newren
2019-01-29 1:39 ` [PATCH v5 2/8] rebase: fix incompatible options error message Elijah Newren
2019-01-29 1:39 ` [PATCH v5 3/8] t5407: add a test demonstrating how interactive handles --skip differently Elijah Newren
2019-01-29 1:39 ` [PATCH v5 4/8] am, rebase--merge: do not overlook --skip'ed commits with post-rewrite Elijah Newren
2019-01-29 1:39 ` [PATCH v5 5/8] git-rebase, sequencer: extend --quiet option for the interactive machinery Elijah Newren
2019-01-29 1:39 ` [PATCH v5 6/8] git-legacy-rebase: simplify unnecessary triply-nested if Elijah Newren
2019-01-29 1:39 ` [PATCH v5 7/8] rebase: define linearization ordering and enforce it Elijah Newren
2019-01-29 1:39 ` [PATCH v5 8/8] rebase: implement --merge via the interactive machinery Elijah Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181122044841.20993-6-newren@gmail.com \
--to=newren@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood@talktalk.net \
--cc=predatoramigo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.