From: Tim Henigan <tim.henigan@gmail.com>
To: gitster@pobox.com, git@vger.kernel.org, davvid@gmail.com
Cc: Tim Henigan <tim.henigan@gmail.com>
Subject: [PATCH v3 10/9] difftool: do not allow mix of '--prompt' with '--no-prompt'
Date: Wed, 21 Mar 2012 15:35:58 -0400 [thread overview]
Message-ID: <1332358560-13774-4-git-send-email-tim.henigan@gmail.com> (raw)
In-Reply-To: <1332358560-13774-1-git-send-email-tim.henigan@gmail.com>
When difftool was changed to use Getopt::Long, it changed the way that
the '--prompt' and '--no-prompt' options are handled. Prior to the change,
if both options were given, then the last option was used. After the
change, if both were given, then '--prompt' was always used.
This commit teaches difftool to exit with an error if both options are
given at the command line. t7800 was updated to match.
Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
---
git-difftool.perl | 6 +++++-
t/t7800-difftool.sh | 16 +++++-----------
2 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/git-difftool.perl b/git-difftool.perl
index 9f0f9a9..9629811 100755
--- a/git-difftool.perl
+++ b/git-difftool.perl
@@ -202,7 +202,11 @@ if (defined($dirdiff)) {
chmod(stat("$b/$_")->mode, "$workdir/$_") or die $!;
}
} else {
- if (defined($prompt)) {
+ if (defined($prompt) and defined($no_prompt)) {
+ print("Cannot command '--prompt' and '--no-prompt' at the same time.\n");
+ usage(1);
+ }
+ elsif (defined($prompt)) {
$ENV{GIT_DIFFTOOL_PROMPT} = 'true';
}
elsif (defined($no_prompt)) {
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 4fb4c93..dc181cf 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -202,17 +202,11 @@ test_expect_success PERL 'difftool.prompt can overridden with --prompt' '
restore_test_defaults
'
-# Test that the last flag passed on the command-line wins
-test_expect_success PERL 'difftool last flag wins' '
- diff=$(git difftool --prompt --no-prompt branch) &&
- test "$diff" = "branch" &&
-
- restore_test_defaults &&
-
- prompt=$(echo | git difftool --no-prompt --prompt branch | tail -1) &&
- prompt_given "$prompt" &&
-
- restore_test_defaults
+# Test that an error is given when both --prompt and --no-prompt are
+# commanded
+test_expect_success PERL '--prompt / --no-prompt conflict' '
+ test_must_fail git difftool --prompt --no-prompt branch &&
+ test_must_fail git difftool --no-prompt --prompt branch
'
# git-difftool falls back to git-mergetool config variables
--
1.7.10.rc1.39.g6e141f
next prev parent reply other threads:[~2012-03-21 19:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-21 19:35 [PATCH v3 0/9] difftool: teach command to perform directory diffs Tim Henigan
2012-03-21 19:35 ` [PATCH v3 7/9] difftool: teach difftool to handle " Tim Henigan
2012-03-21 19:35 ` [PATCH v3 8/9] difftool: teach dir-diff to copy modified files back to working tree Tim Henigan
2012-03-21 19:35 ` Tim Henigan [this message]
2012-03-21 20:14 ` [PATCH v3 10/9] difftool: do not allow mix of '--prompt' with '--no-prompt' Junio C Hamano
2012-03-22 1:53 ` [PATCH 10/9 v4] difftool: fix regression in '--prompt' options Tim Henigan
2012-03-22 4:09 ` Junio C Hamano
2012-03-22 8:19 ` Thomas Rast
2012-03-22 13:51 ` Tim Henigan
2012-03-22 16:59 ` Junio C Hamano
2012-03-22 19:01 ` Tim Henigan
2012-03-22 19:13 ` Junio C Hamano
2012-03-22 16:57 ` Junio C Hamano
2012-03-21 19:35 ` [PATCH v3 11/9] t7800: add test for difftool --tool-help Tim Henigan
2012-03-21 19:36 ` [PATCH v3 12/9] t7800: add tests for difftool --dir-diff Tim Henigan
2012-03-22 9:53 ` David Aguilar
2012-03-22 13:55 ` Tim Henigan
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=1332358560-13774-4-git-send-email-tim.henigan@gmail.com \
--to=tim.henigan@gmail.com \
--cc=davvid@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).