Re: t5403.1 and adding a file that belongs to a submodule
On Tue, Jul 19, 2011 at 11:31 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> Nguyen Thai Ngoc Duy <pclouds@gmail.com> 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".
Show 6 quoted lines
> 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