[PATCH 0/4] make pathless 'add [-u|-A]' warning less noisy

2013-03-18 Thread Jonathan Nieder
Hi,

Jeff King wrote:

  The
 config option added by this patch gives them such an option.

I suspect the need for this config option is a sign that the warning
is too eager.  After all, the whole idea of the change being safe is
that it shouldn't make a difference the way people usually use git,
no?

In other words, how about the following patches?  With them applied,
hopefully no one would mind even if the warning becomes a fatal error.

Looking forward to your thoughts,

Jonathan Nieder (4):
  add: make pathless 'add [-u|-A]' warning a file-global function
  add: make warn_pathless_add() a no-op after first call
  add -u: only show pathless 'add -u' warning when changes exist outside cwd
  add -A: only show pathless 'add -A' warning when changes exist outside cwd

 builtin/add.c | 142 --
 1 file changed, 99 insertions(+), 43 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/4] make pathless 'add [-u|-A]' warning less noisy

2013-03-18 Thread Jeff King
On Mon, Mar 18, 2013 at 08:44:15PM -0700, Jonathan Nieder wrote:

   The
  config option added by this patch gives them such an option.
 
 I suspect the need for this config option is a sign that the warning
 is too eager.  After all, the whole idea of the change being safe is
 that it shouldn't make a difference the way people usually use git,
 no?
 
 In other words, how about the following patches?  With them applied,
 hopefully no one would mind even if the warning becomes a fatal error.

Clever. I think it would help in my case. I sometimes follow the
workflow you describe in patch 3 (i.e., just working in a subdir), and
sometimes do something more like:

  $ vi foo.c
  $ cd t
  $ vi t-foo.sh
  $ ./t-foo.sh
  $ git add -u

With your patches, we would continue to warn about the second case, but
I think that is a good thing; git is not doing what I want. But by
reducing the false positives from the first case, I would start to
actually pay attention to the warning more.

 Jonathan Nieder (4):
   add: make pathless 'add [-u|-A]' warning a file-global function
   add: make warn_pathless_add() a no-op after first call
   add -u: only show pathless 'add -u' warning when changes exist outside cwd
   add -A: only show pathless 'add -A' warning when changes exist outside cwd

I don't see anything obviously wrong with the patches themselves. I
wonder if we would want to change the warning to be more explicit that
yes, there really were files that were impacted by this. And possibly
even list them.

I suspect I would not even mind that becoming the final behavior.  I.e.,
going to:

  $ cd subdir  git add -u
  warning: Using 'git add -u' without a pathspec operates only on the
  current subdirectory. Updates from the following files were NOT
  staged:

file1
file2
other-subdir/file3

now, and then eventually converting the warning into a fatal error (and
demanding that the user use :/ or . as appropriate).

But in the long run, I guess defaulting to :/ will be more convenient,
so there is no point in complaining about the ambiguity forever. And in
that case, since the warning is just a placeholder, I don't know that
it's worth much effort to make it fancier.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html