Marko Macek <marko.macek@xxxxxxx> writes: > For people switching from CVS and SVN it would be much better if the > index was hidden behind the scenes by using different defaults: > > git-commit -a > git-status -a > git-diff HEAD > > BTW, currently there's a minor bug: git-diff HEAD doesn't work before > you make the first commit. Perhaps this should be special cased. That's only a _bug_ in your implementation of the synonym for "svn diff" which blindly used "git diff HEAD". "git diff HEAD" is not a synonym for "svn diff" when HEAD does not exist yet, because you are asking "please give me a diff between the tree in the HEAD commit and my working tree files through the index". So if you are doing "git-svnish-diff" Porcelain script, it should notice that HEAD does not exist yet and take an appropriate action. We do something similar in git-status; the porcelain notices and acts differently when HEAD is not there yet. This "there is no HEAD yet" is not related to the index, but I am skeptical about trying to hide the index from the end user. You can make some things map more naturally to systems like SVN and CVS than other things. For example, Nico's proposal to always use remote tracking branches and defaulting to use refs/remotes/ would be a way to match UI of pull/push to another existing system and that would work well (I am not agreeing to the change to make 'pull' not to do the merge which would break existing users -- I am just saying that the result would be self consistent). But things that have difference at the concept level, I suspect no clever mapping to hide the differences would work well. The index is quite central to the way git works at the concept level, and I think it is doing disservice to the end user to try hiding it forever from them and failing to do so, rather than being honest and teaching them the concept upfront. But me thinking so does not necessarily mean you are forbidden from trying. Your efforts may result in a system where the index is totally invisible and the end user never has to know about it. - 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