add--interactive: fix missing file prompt for patch mode with "-i"
commitc852bd54bd87fdcdc825f5d45c26aa745be13ba6
authorJeff King <peff@peff.net>
Thu, 2 Mar 2017 09:48:22 +0000 (2 04:48 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Mar 2017 18:10:38 +0000 (2 10:10 -0800)
tree13ddb37b3d06c1d5da9263847180df9d2a0d477e
parente7e07d5a4fcc2a203d9873968ad3e6bd4d7419d7
add--interactive: fix missing file prompt for patch mode with "-i"

When invoked as "git add -i", each menu interactive menu
option prompts the user to select a list of files. This
includes the "patch" option, which gets the list before
starting the hunk-selection loop.

As "git add -p", it behaves differently, and jumps straight
to the hunk selection loop.

Since 0539d5e6d (i18n: add--interactive: mark patch prompt
for translation, 2016-12-14), the "add -i" case mistakenly
jumps to straight to the hunk-selection loop. Prior to that
commit the distinction between the two cases was managed by
the $patch_mode variable. That commit used $patch_mode for
something else, and moved the old meaning to the "$cmd"
variable.  But it forgot to update the $patch_mode check
inside patch_update_cmd() which controls the file-list
behavior.

The simplest fix would be to change that line to check $cmd.
But while we're here, let's use a less obscure name for this
flag: $patch_mode_only, a boolean which tells whether we are
in full-interactive mode or only in patch-mode.

Reported-by: Henrik Grubbström <grubba@grubba.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-add--interactive.perl
t/t3701-add-interactive.sh