git-remote-mediawiki: obey advice.pushNonFastForward
[gitweb.git] / git-difftool.perl
index adc42de8752fd395707f1e395c61991b3146cebb..ced1615e216018bc20303cd91eaea05c69cb6b11 100755 (executable)
@@ -10,6 +10,7 @@
 #
 # Any arguments that are unknown to this script are forwarded to 'git diff'.
 
+use 5.008;
 use strict;
 use warnings;
 use Cwd qw(abs_path);
@@ -51,6 +52,7 @@ sub generate_command
        my @command = (exe('git'), 'diff');
        my $skip_next = 0;
        my $idx = -1;
+       my $prompt = '';
        for my $arg (@ARGV) {
                $idx++;
                if ($skip_next) {
@@ -88,13 +90,11 @@ sub generate_command
                        next;
                }
                if ($arg eq '-y' || $arg eq '--no-prompt') {
-                       $ENV{GIT_DIFFTOOL_NO_PROMPT} = 'true';
-                       delete $ENV{GIT_DIFFTOOL_PROMPT};
+                       $prompt = 'no';
                        next;
                }
                if ($arg eq '--prompt') {
-                       $ENV{GIT_DIFFTOOL_PROMPT} = 'true';
-                       delete $ENV{GIT_DIFFTOOL_NO_PROMPT};
+                       $prompt = 'yes';
                        next;
                }
                if ($arg eq '-h' || $arg eq '--help') {
@@ -102,6 +102,11 @@ sub generate_command
                }
                push @command, $arg;
        }
+       if ($prompt eq 'yes') {
+               $ENV{GIT_DIFFTOOL_PROMPT} = 'true';
+       } elsif ($prompt eq 'no') {
+               $ENV{GIT_DIFFTOOL_NO_PROMPT} = 'true';
+       }
        return @command
 }