threads / discuss / 10444

git-{diff,ls}-files from a subdirectory fails ...

Subject: git-{diff,ls}-files from a subdirectory fails ...

## tl;dr

4 messages between Oct 24, 2007 and Oct 24, 2007.

replies: 3people: 2as markdown or json

Karl Hasselström· Oct 24, 2007, 01:20 UTC · lore
... when GIT_DIR is specified.

I have a repository at ~/stgit-lib. With cwd at the top of the tree, things work as expected when I set all those fancy envoronment variables:

  kha@yoghurt:~/stgit-lib> git-diff-files --name-only
  stgit/utillib.py
  kha@yoghurt:~/stgit-lib> GIT_DIR=/home/kha/stgit-lib/.git GIT_INDEX_FILE=/home/kha/stgit-lib/.git/index GIT_WORK_TREE=/home/kha/stgit-lib git-diff-files --name-only
  stgit/utillib.py
However, it doen't seem to work from a subdirectory:
  kha@yoghurt:~/stgit-lib/stgit> git-diff-files --name-only
  stgit/utillib.py
  kha@yoghurt:~/stgit-lib/stgit> GIT_DIR=/home/kha/stgit-lib/.git GIT_INDEX_FILE=/home/kha/stgit-lib/.git/index GIT_WORK_TREE=/home/kha/stgit-lib git-diff-files --name-only | wc
      170     170    3560

Instead of just the one changed file, I get a list of what looks like all the files in the project, suggesting that maybe git assumes I'm at the root of the worktree when I'm not.

git-ls-files seems to behave the same way. Bug or user error?
-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Johannes Schindelin· Oct 24, 2007, 10:06 UTC · re: Karl Hasselström · lore

Re: git-{diff,ls}-files from a subdirectory fails ...

Hi,
On Wed, 24 Oct 2007, Karl Hasselstr?m wrote:
Show 19 quoted lines
> ... when GIT_DIR is specified.
> 
> I have a repository at ~/stgit-lib. With cwd at the top of the tree,
> things work as expected when I set all those fancy envoronment
> variables:
> 
>   kha@yoghurt:~/stgit-lib> git-diff-files --name-only
>   stgit/utillib.py
> 
>   kha@yoghurt:~/stgit-lib> GIT_DIR=/home/kha/stgit-lib/.git GIT_INDEX_FILE=/home/kha/stgit-lib/.git/index GIT_WORK_TREE=/home/kha/stgit-lib git-diff-files --name-only
>   stgit/utillib.py
> 
> However, it doen't seem to work from a subdirectory:
> 
>   kha@yoghurt:~/stgit-lib/stgit> git-diff-files --name-only
>   stgit/utillib.py
> 
>   kha@yoghurt:~/stgit-lib/stgit> GIT_DIR=/home/kha/stgit-lib/.git GIT_INDEX_FILE=/home/kha/stgit-lib/.git/index GIT_WORK_TREE=/home/kha/stgit-lib git-diff-files --name-only | wc
>       170     170    3560
>From looking at it (very) briefly, it seems that you encountered the same 
bug that was fixed in

dd5c8af176bb935a0b01a7dc2d5e022565c3aac3(Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE).

IOW if you run git version v1.5.3.4-14-gdd5c8af or newer, you should not experience this.

Hth, Dscho

Karl Hasselström· Oct 24, 2007, 10:40 UTC · re: Johannes Schindelin · lore

Re: git-{diff,ls}-files from a subdirectory fails ...

On 2007-10-24 11:06:43 +0100, Johannes Schindelin wrote:
Show 18 quoted lines
> On Wed, 24 Oct 2007, Karl Hasselström wrote:
>
> > However, it doen't seem to work from a subdirectory:
> >
> >   kha@yoghurt:~/stgit-lib/stgit> git-diff-files --name-only
> >   stgit/utillib.py
> >
> >   kha@yoghurt:~/stgit-lib/stgit> GIT_DIR=/home/kha/stgit-lib/.git GIT_INDEX_FILE=/home/kha/stgit-lib/.git/index GIT_WORK_TREE=/home/kha/stgit-lib git-diff-files --name-only | wc
> >       170     170    3560
>
> From looking at it (very) briefly, it seems that you encountered the
> same bug that was fixed in
>
> dd5c8af176bb935a0b01a7dc2d5e022565c3aac3(Fix setup_git_directory_gently()
> with relative GIT_DIR & GIT_WORK_TREE).
>
> IOW if you run git version v1.5.3.4-14-gdd5c8af or newer, you should
> not experience this.

Thanks for the pointer; that looks like it might indeed fix this bug. Will hopefully have time to verify later today.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Karl Hasselström· Oct 24, 2007, 11:26 UTC · re: Karl Hasselström · lore

Re: git-{diff,ls}-files from a subdirectory fails ...

On 2007-10-24 12:40:55 +0200, Karl Hasselström wrote:
Show 7 quoted lines
> On 2007-10-24 11:06:43 +0100, Johannes Schindelin wrote:
>
> > IOW if you run git version v1.5.3.4-14-gdd5c8af or newer, you
> > should not experience this.
>
> Thanks for the pointer; that looks like it might indeed fix this
> bug. Will hopefully have time to verify later today.
It works! Very timely bugfix ...
-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

← back to recent threads