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

Re: Inconsistency with -a vs -A

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:51:03

Junio C Hamano [off-list ref] writes:
The only uppercase "-A" I am aware of are these two, and both are about
"everything under the sun", which is a special case in the context of SCM.
All the other usual "all" options are spelled "-a".

I think we could give "add -a" as a synonym to "add -u", which would be a
safe addition that would not break any existing user, if we wanted to be
picky and really make things more consistent.

Also in the longer term, I suspect we probably should deprecate "add -A"
as a failed experiment, if we are not going to do "commit -A" after all.
"add ." and "add :/" (from a subdirectory) would be much less ambiguous,
and it will get rid of the only instance of "-A" that means something
slightly different from the usual "all".
The last paragraph is really "in the _longer_ term".  Two things need to
happen before we get there:

 - we need to teach "add ." or with any pathspec to do what the current
   "-A" with the same pathspec does implicitly, while keeping "add"
   without any pathspec a no-op.

 - ":/" (from root, whole tree) needs to be added.  We already know how
   that pathspec will behave and how to implement it.

The former may need a bit of thought and discussion, but I personally
think that "git add" with pathspec should notice deletion of tracked
paths.  It may have been Ok back when "git add $path" was only for adding
new paths, but we have changed from that semantics a long time ago and the
command deals with both tracked and untracked paths.  It does not make
much sense to special case tracked but removed paths anymore [*1*]

The latter we know we will have in a release or two.


[Footnote]

* The code does not do any special casing at the design level, but they
fall within the cracks of the implementation.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help