Re: Small issue with "add untracked" option of 'git add -i'

2017-06-21 Thread Kaartic Sivaraam

On Mon, 2017-06-12 at 10:59 -0700, Junio C Hamano wrote:
> Junio C Hamano  writes:
> 
> > After prompting to get the list of desired files, if the user chose
> > nothing, the message is shown.  "No untracked files chosen." is
> > probably what the code wants to say, I would think.
> 
> 
> Together with your other wishes, perhaps something like this is what
> you have in mind.  The original tried to throw in a blank line as a
> separator to help interactive users to more easily tell the boundary
> of blocks of text, but it wasn't consistently doing so (e.g. "update"
> when nothing is dirty was very silent, while "status" gave one blank
> line that is supposed to be shown after the list of changed ones even
> when the list is empty).
> 
>  git-add--interactive.perl | 8 ++--
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index 709a5f6ce6..0ec09361b4 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -537,7 +537,7 @@ sub list_and_choose {
>   $last_lf = 1;
>   }
>   }
> - if (!$last_lf) {
> + if (@stuff && !$last_lf) {
>   print "\n";
>   }
>  
> @@ -634,7 +634,6 @@ sub prompt_help_cmd {
>  sub status_cmd {
>   list_and_choose({ LIST_ONLY => 1, HEADER => $status_head },
>   list_modified());
> - print "\n";
>  }
>  
>  sub say_n_paths {
> @@ -667,7 +666,6 @@ sub update_cmd {
>      map { $_->{VALUE} } @update);
>   say_n_paths('updated', @update);
>   }
> - print "\n";
>  }
>  
>  sub revert_cmd {
> @@ -701,7 +699,6 @@ sub revert_cmd {
>   refresh();
>   say_n_paths('reverted', @update);
>   }
> - print "\n";
>  }
>  
>  sub add_untracked_cmd {
> @@ -711,9 +708,8 @@ sub add_untracked_cmd {
>   system(qw(git update-index --add --), @add);
>   say_n_paths('added', @add);
>   } else {
> - print __("No untracked files.\n");
> + print __("No untracked file chosen.\n");
I guess I should take take back the following statement from my
previous thread,

> That does seem to be a more apt message to be shown. It's
> unambiguous.

The ambiguity persists. It seems that 'Add untracked' is not
differentiating between 'absence of untracked files' and 'not selecting
any untracked files' currently. It seems to be the root cause of the
ambiguity.

As a result the new message "No untracked file chosen." seems absurd
when user tries to choose the '4: add untracked' option in 'git add -i'
and there are no untracked files in his repository.

$ git add -i

*** Commands ***
  1: status   2: update   3: revert   
4: add untracked
  5: patch6: diff 7: quit 
8: help
What now> 4
No untracked file chosen.


>   }
> - print "\n";
>  }
>  
>  sub run_git_apply {



Re: Small issue with "add untracked" option of 'git add -i'

2017-06-21 Thread Kaartic Sivaraam
On Wed, 2017-06-21 at 06:52 +0200, Kevin Daudt wrote:
> Did you make sure you used the git you built, and also the relevant
> subcommands?
> 
You got it. I apologise for any confusion caused here. I seemed to have
accidentally given a build location in my custom build script,
different from the one that I assumed. I didn't identify it all along
as there was a previous build in the assumed location. Anyways, thanks
for pointing that out.

> What does `which git` and git --exec-path return?
> 
> If you did not install git, but try to run it in the compiled dir,
> you
> can better run bin-wrappers/git, which will make sure the correct sub
> commands are run.



Re: Small issue with "add untracked" option of 'git add -i'

2017-06-20 Thread Kevin Daudt
On Wed, Jun 21, 2017 at 08:25:26AM +0530, Kaartic Sivaraam wrote:
> 
> I tried applying the patch and building it locally. For some reason I
> couldn't see the change in effect. What could I be missing?
> 

Did you make sure you used the git you built, and also the relevant
subcommands?

What does `which git` and git --exec-path return?

If you did not install git, but try to run it in the compiled dir, you
can better run bin-wrappers/git, which will make sure the correct sub
commands are run.


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-20 Thread Kaartic Sivaraam
On Mon, 2017-06-12 at 10:59 -0700, Junio C Hamano wrote:
> Together with your other wishes, perhaps something like this is what
> you have in mind.  The original tried to throw in a blank line as a
> separator to help interactive users to more easily tell the boundary
> of blocks of text, but it wasn't consistently doing so (e.g. "update"
> when nothing is dirty was very silent, while "status" gave one blank
> line that is supposed to be shown after the list of changed ones even
> when the list is empty).
> 
>  git-add--interactive.perl | 8 ++--
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index 709a5f6ce6..0ec09361b4 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -537,7 +537,7 @@ sub list_and_choose {
>   $last_lf = 1;
>   }
>   }
> - if (!$last_lf) {
> + if (@stuff && !$last_lf) {
>   print "\n";
>   }
>  
> @@ -634,7 +634,6 @@ sub prompt_help_cmd {
>  sub status_cmd {
>   list_and_choose({ LIST_ONLY => 1, HEADER => $status_head },
>   list_modified());
> - print "\n";
>  }
>  
>  sub say_n_paths {
> @@ -667,7 +666,6 @@ sub update_cmd {
>      map { $_->{VALUE} } @update);
>   say_n_paths('updated', @update);
>   }
> - print "\n";
>  }
>  
>  sub revert_cmd {
> @@ -701,7 +699,6 @@ sub revert_cmd {
>   refresh();
>   say_n_paths('reverted', @update);
>   }
> - print "\n";
>  }
>  
>  sub add_untracked_cmd {
> @@ -711,9 +708,8 @@ sub add_untracked_cmd {
>   system(qw(git update-index --add --), @add);
>   say_n_paths('added', @add);
>   } else {
> - print __("No untracked files.\n");
> + print __("No untracked file chosen.\n");
>   }
> - print "\n";
>  }
>  
>  sub run_git_apply {

I tried applying the patch and building it locally. For some reason I
couldn't see the change in effect. What could I be missing?

-- 
Regards,
Kaartic Sivaraam 


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-14 Thread Kaartic Sivaraam
On Wed, 2017-06-14 at 18:34 +0530, Kaartic Sivaraam wrote:
> That's right. Though I'm not sure of the implementation, I guess the
> following patch would make `git add -i` do what I thought it should.
> 
A possible, probably better,  alternative would be to make the empty
state output more interactive. i.e., making all the options of `git add
-i` to output some useful message (something similar to the one printed
by the `add untracked` option currently.

-- 
Regards,
Kaartic Sivaraam 


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-14 Thread Kaartic Sivaraam
On Mon, 2017-06-12 at 10:59 -0700, Junio C Hamano wrote:
> Together with your other wishes, perhaps something like this is what
> you have in mind.  The original tried to throw in a blank line as a
> separator to help interactive users to more easily tell the boundary
> of blocks of text, but it wasn't consistently doing so (e.g. "update"
> when nothing is dirty was very silent, while "status" gave one blank
> line that is supposed to be shown after the list of changed ones even
> when the list is empty).
> 
That's right. Though I'm not sure of the implementation, I guess the
following patch would make `git add -i` do what I thought it should.

>  git-add--interactive.perl | 8 ++--
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index 709a5f6ce6..0ec09361b4 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -537,7 +537,7 @@ sub list_and_choose {
>   $last_lf = 1;
>   }
>   }
> - if (!$last_lf) {
> + if (@stuff && !$last_lf) {
>   print "\n";
>   }
>  
> @@ -634,7 +634,6 @@ sub prompt_help_cmd {
>  sub status_cmd {
>   list_and_choose({ LIST_ONLY => 1, HEADER => $status_head },
>   list_modified());
> - print "\n";
>  }
>  
>  sub say_n_paths {
> @@ -667,7 +666,6 @@ sub update_cmd {
>      map { $_->{VALUE} } @update);
>   say_n_paths('updated', @update);
>   }
> - print "\n";
>  }
>  
>  sub revert_cmd {
> @@ -701,7 +699,6 @@ sub revert_cmd {
>   refresh();
>   say_n_paths('reverted', @update);
>   }
> - print "\n";
>  }
>  
>  sub add_untracked_cmd {
> @@ -711,9 +708,8 @@ sub add_untracked_cmd {
>   system(qw(git update-index --add --), @add);
>   say_n_paths('added', @add);
>   } else {
> - print __("No untracked files.\n");
> + print __("No untracked file chosen.\n");
>   }
> - print "\n";
>  }
>  
>  sub run_git_apply {


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-12 Thread Junio C Hamano
Junio C Hamano  writes:

> After prompting to get the list of desired files, if the user chose
> nothing, the message is shown.  "No untracked files chosen." is
> probably what the code wants to say, I would think.


Together with your other wishes, perhaps something like this is what
you have in mind.  The original tried to throw in a blank line as a
separator to help interactive users to more easily tell the boundary
of blocks of text, but it wasn't consistently doing so (e.g. "update"
when nothing is dirty was very silent, while "status" gave one blank
line that is supposed to be shown after the list of changed ones even
when the list is empty).

 git-add--interactive.perl | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 709a5f6ce6..0ec09361b4 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -537,7 +537,7 @@ sub list_and_choose {
$last_lf = 1;
}
}
-   if (!$last_lf) {
+   if (@stuff && !$last_lf) {
print "\n";
}
 
@@ -634,7 +634,6 @@ sub prompt_help_cmd {
 sub status_cmd {
list_and_choose({ LIST_ONLY => 1, HEADER => $status_head },
list_modified());
-   print "\n";
 }
 
 sub say_n_paths {
@@ -667,7 +666,6 @@ sub update_cmd {
   map { $_->{VALUE} } @update);
say_n_paths('updated', @update);
}
-   print "\n";
 }
 
 sub revert_cmd {
@@ -701,7 +699,6 @@ sub revert_cmd {
refresh();
say_n_paths('reverted', @update);
}
-   print "\n";
 }
 
 sub add_untracked_cmd {
@@ -711,9 +708,8 @@ sub add_untracked_cmd {
system(qw(git update-index --add --), @add);
say_n_paths('added', @add);
} else {
-   print __("No untracked files.\n");
+   print __("No untracked file chosen.\n");
}
-   print "\n";
 }
 
 sub run_git_apply {


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-12 Thread Kaartic Sivaraam
On Mon, 2017-06-12 at 10:38 -0700, Junio C Hamano wrote:
> After prompting to get the list of desired files, if the user chose
> nothing, the message is shown.  "No untracked files chosen." is
> probably what the code wants to say, I would think.
> 
That does seem to be a more apt message to be shown. It's unambiguous.

-- 
Regards,
Kaartic Sivaraam 


Re: Small issue with "add untracked" option of 'git add -i'

2017-06-12 Thread Junio C Hamano
Kaartic Sivaraam  writes:

> * He chooses to use 'git add -i' to stage changes
> * He chooses option 4, accidentally, instead of option 5. He is shown
> the following menu,
>
>> *** Commands ***
>>   1: status    2: update   3: revert   4: add
>> untracked
>>   5: patch     6: diff     7: quit     8: help
>> What now> 4
>>   1: test-file
>> Add untracked>> 
>
> * He exits by hitting return but he is shown this weird message found
> below.
>
>> No untracked files.
>
> * He is surprised on seeing this.
>
> Why is that message shown when "there are untracked files" but the user
> doesn't add them to the staging area?

It comes from this snippet in git-add--interactive.perl:

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);
} else {
print __("No untracked files.\n");
}
print "\n";
}


After prompting to get the list of desired files, if the user chose
nothing, the message is shown.  "No untracked files chosen." is
probably what the code wants to say, I would think.

 git-add--interactive.perl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 709a5f6ce6..98c9f20578 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -711,7 +711,7 @@ sub add_untracked_cmd {
system(qw(git update-index --add --), @add);
say_n_paths('added', @add);
} else {
-   print __("No untracked files.\n");
+   print __("No untracked file chosen.\n");
}
print "\n";
 }