Re: git-add--interactive works only in top level

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

 



El 4/12/2007, a las 7:22, Junio C Hamano escribió:

Reid Barton <rwbarton@xxxxxxx> writes:

I understand that programs such as git-add--interactive will be moved
out of the executable path not too long from now, which will also
ameliorate the situation.

Honestly, there is nothing to ameliorate.  We do not even document
git-add--interactive on purpose.

Once I saw somebody who somehow got a root account on a shared UNIX box
and tryed running everything he found under /sbin one after another
without understanding what he was doing.  Needless to say, the box did
not last too long.  Somehow that "tab completion" comment reminds of
him.

Here he have two options: blame the user for his/her stupidity, or look at this a UI problem and try to make the UI "idiot proof".

In this particular case I see no impediment to favouring the second option, because we're not talking about making changes that would make Git less powerful or useful for "non-idiots", "power users" or "real men" (whatever you want to call them). In other words, we are not talking about "dumbing down" Git for the sake of the ignorant. This is an opportunity to polish the UI in the same way that we polish the internal pack format.

And while it's not a good idea to login as root and try everything under "/sbin" without knowing what it does, stumbling across "git-add-- interactive" via tab completion is easier to understand. It's an easy enough mistake to make and it would be nice if we shielded the user from making it.

I think it is (and always was) an error to expose things like git-add-- interactive which are fundamentally implementation details *internal* to Git. The user shouldn't even know that it exists. It's one thing to have a bunch of high-level commands (porcelain) mixed together with low-level ones (plumbing) in the user's PATH, but it's another entirely to also stick internal implementation stuff which should *never* be directly executed in there too. At least in the case of plumbing there are reasons why you might sometimes directly execute it, but that's not the case with stuff like git-add--interactive.

So I do think there is something to ameliorate, and moving this stuff out of the PATH will do exactly that.

Cheers,
Wincent

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

  Powered by Linux