On 2008.11.02 10:30:16 -0800, Junio C Hamano wrote: > Björn Steinbrink <B.Steinbrink@xxxxxx> writes: > > > Looking at --cached/--index we have basically three things: > > > > --cached to refer to the state of the index (diff, grep, [stash], ...) > > --cached to _work on_ the index only (rm, apply, ...) > > --index to _work on_ both the index and the working tree (apply, ...) > > I think the earlier two are the same thing. The only difference between > them is that in the first one, the definition of your "work on" happens to > be a read-only operation. Am I mistaken? Yeah, I actually wanted to change that "work on" to a simple "change", but forgot to do that before sending... :-( The idea was that currently "--cached" can be "passive" (just look at the index instead of the working tree) or "active" (change the index instead of the working tree). Thus there could be three "flag words", and their usage can be unified, including stash. "git diff [my] --staged [changes]" "git stash [but] --keep-staged [changes]" "git apply [and] --stage my_patch" "git rm [but] --stage-only some_file" OK, the last one is still not even close to a proper sentence, and but I guess you get the idea ;-) > > A quick look through Documentation/ revealed only one problematic case, > > which is ls-files that already has a --stage option. And that looks like > > a dealbreaker :-( > > 'ls-files' is primarily about the index contents and all else is a fluff > ;-) > > You could say --show-stage-too if you wanted to, but the command is a > plumbing to begin with, so perhaps if we can identify the cases where > people need to use the command and enhance some Porcelain (likely > candidate is 'status' or perhaps 'status --short') to give the information > people use ls-files for, we hopefully wouldn't have to change ls-files > itself at all. > > The only case I use ls-files these days when I am _using_ git (as opposed > to developing/debugging git) is "git ls-files -u" to get the list of still > unmerged paths during a conflicted merge. Heh, that's probably the one thing for which I use "git status" the most. Björn -- 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