Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] git-add--interactive: print message if there are no untracked files

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:03:38

Alexander Kuleshov [off-list ref] 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.
quoted hunk
Signed-off-by: Alexander Kuleshov <redacted>
---
 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";
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help