Re: Inconsistency with -a vs -A

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <gitster@xxxxxxxxx> 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.

--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]