add -i: return from list_and_choose if there is no candidate
commita9c4641df7989c9adf6af471705ebf735c35a92f
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Thu, 22 Jan 2015 08:39:44 +0000 (22 14:39 +0600)
committerJunio C Hamano <gitster@pobox.com>
Thu, 22 Jan 2015 22:44:36 +0000 (22 14:44 -0800)
tree11dbd9a438755f5c3a295a8f82ef0db863ce8611
parent282616c72d1d08a77ca4fe1186cb708c38408d87
add -i: return from list_and_choose if there is no candidate

The list_and_choose() helper is given a prompt and a list, asks the
user to make selection from the list, and then returns a list of
items chosen.  Even when it is given an empty list as the original
candidate set to choose from, it gave a prompt to the user, who can
only say "I am done choosing".

Return an empty result when the input is an empty list without
bothering the user.  The existing caller must already have a logic
to say "Nothing to do" or an equivalent when the returned list is
empty (i.e. the user chose to select nothing) if it is necessary, so
no change to the callers is necessary.

This fixes the case where "add untracked" is asked in "git add -i"
and there is no untracked files in the working tree.  We used to give
an empty list of files to choose from with a prompt, but with this
change, we no longer do.

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-add--interactive.perl