Alexander Kuleshov <kuleshovmail@xxxxxxxxx> writes: > If user selects 'add untracked' and there are no untracked files, > "Add untracked>>" opens. But it does not make sense in this case, > because there are no untracked files. So let's print message and > exit from "add untracked" mode. That reasoning makes perfect sense. > Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> > --- > git-add--interactive.perl | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/git-add--interactive.perl b/git-add--interactive.perl > index 94b988c..1a6dcf3 100755 > --- a/git-add--interactive.perl > +++ b/git-add--interactive.perl > @@ -724,11 +724,15 @@ sub revert_cmd { > } > > sub add_untracked_cmd { > - my @add = list_and_choose({ PROMPT => 'Add untracked' }, > - list_untracked()); > - if (@add) { > - system(qw(git update-index --add --), @add); > - say_n_paths('added', @add); > + if (system(qw(git ls-files --others --exclude-standard --))) { But this ls-files invocation that knows too much about how list_untracked() computes things does not. Why not my @add = list_untracked(); if (@add) { @add = list_and_choose({...}, @add); } if (!@add) { Nothing to do; } else { Run update-index } or something instead? > + my @add = list_and_choose({ PROMPT => 'Add untracked' }, > + list_untracked()); > + if (@add) { > + system(qw(git update-index --add --), @add); > + say_n_paths('added', @add); > + } > + } else { > + print "No untracked files.\n"; > } > print "\n"; > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html