From: Junio C Hamano Date: Wed, 25 Feb 2015 06:10:42 +0000 (-0800) Subject: Merge branch 'ak/add-i-empty-candidates' into maint X-Git-Tag: v2.3.1~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7bc4c01d9b66b4bc5ef1a7d77a6743ca135ea680?ds=inline;hp=-c Merge branch 'ak/add-i-empty-candidates' into maint The interactive "show a list and let the user choose from it" interface "add -i" used showed and prompted to the user even when the candidate list was empty, against which the only "choice" the user could have made was to choose nothing. * ak/add-i-empty-candidates: add -i: return from list_and_choose if there is no candidate --- 7bc4c01d9b66b4bc5ef1a7d77a6743ca135ea680 diff --combined git-add--interactive.perl index c7256741cc,f35b3e6152..77876d433a --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@@ -515,6 -515,9 +515,9 @@@ sub error_msg sub list_and_choose { my ($opts, @stuff) = @_; my (@chosen, @return); + if (!@stuff) { + return @return; + } my $i; my @prefixes = find_unique_prefixes(@stuff) unless $opts->{LIST_ONLY}; @@@ -725,6 -728,8 +728,8 @@@ sub add_untracked_cmd if (@add) { system(qw(git update-index --add --), @add); say_n_paths('added', @add); + } else { + print "No untracked files.\n"; } print "\n"; } @@@ -1356,7 -1361,6 +1361,7 @@@ sub patch_update_file $patch_mode_flavour{TARGET}, " [y,n,q,a,d,/$other,?]? "; my $line = prompt_single_character; + last unless defined $line; if ($line) { if ($line =~ /^y/i) { $hunk[$ix]{USE} = 1;