On Tue, Jul 19, 2011 at 11:31 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Nguyen Thai Ngoc Duy <pclouds@xxxxxxxxx> writes: > >> touch a b; git commit -am1 >> git clone ./. clone2 >> GIT_DIR=clone2/.git git add clone2/b > > The last one has _always_ meant: > > I am telling with GIT_DIR the directory that contains the repository > metadata, which is at clone2/.git directory. I am not saying where > the working tree is (i.e. no GIT_WORK_TREE and no core.worktree in > clone2/.git/config) so take my $(pwd) as the root of the working tree, > and add the contents of clone2/b to the index at the same path, > i.e. "clone2/b". > > It should not add contents of the said file at "b", as there is _nothing_ > on the command line that tells us "clone2" is the root of the working > tree. I see you're distracted by GIT_DIR. Let's take another example without GIT_DIR git init mkdir foo (cd foo; git init; touch abc; git add abc; git ci -m1) git add foo/abc git ls-files --stage # 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 foo/abc Because foo is a repository, should we not allow "git add foo/abc" ("git add foo" is ok)? Otherwise "abc" may be managed in two repositories. Note that doing "touch abc; git add abc foo/abc" instead will only add "abc". > If the test means to do that, it should be more explicit and do something > like: > > ( cd clone2 && git add b ) > > instead. I suspect that's what it wants. CC the author, hopefully he still remembers. -- Duy -- 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