Kevin Buckley wrote: > On 2021/06/28 13:21, Felipe Contreras wrote: > > > > To try to make it more orthogonal, let's suppose the index file was > > outside the .git directory. Would you consider then the staging area > > separate from the repository? > > > > In fact, we don't have to suppose: > > > > GIT_INDEX_FILE=/tmp/index git checkout @~ -- . > > > > Does that command change the repository in any way? > > I have to admit that I don't know, and that I can't immediately > see where the "repository" would be, in that example. This is > obviously a gap in my understanding: happy to defer to yours. Well, think about it. > I do however feel that the fact that we have moved to using examples > that override the Git Index file on the command line, in order to > define what a "repository" is, just so that we might be able to give > a "more correct" definition of the term, to someone completely new to > Git, suggests that, as others have already noted in the discussion, > it's not easy to be "correct"? No. The repository is what the repository is. The command is merely an aid for *you* to think about it. If you are trying to define what a swan is, and you think a swan is a white bird, but then I show you a black swan, what do you think you should do with your definition? What's complicated about this definition? A git repository is contained in the .git directory, but it's not the same thing. The staging area is usually inside the .git directory too, but it's not part of the repository. Why do you want to make it more complicated than that? -- Felipe Contreras