# git-ls-files prefix superset problem

3 messages from 2006-08-01 to 2006-08-01. Participants: David Miller, Linus Torvalds.
Thread: https://gitlist.dev/t/5065

## David Miller, 2006-08-01 05:13

Subject: git-ls-files prefix superset problem
Message-ID: <20060731.221327.26966465.davem@davemloft.net>
URL: https://gitlist.dev/e/20060731.221327.26966465.davem%40davemloft.net

```

I had been previously using git-1.1.3 on my local repositories
and I upgraded to the current git head:

b63fafdfd844c2037fba53b9944431c1378b4135

git commit stopped working, specifically it dies on
git-ls-files:

davem@sunset:~/src/GIT/net-2.6$ ../git/git-ls-files -- net/ipv4/tcp.c
fatal: git-ls-files: internal error - cache entry not superset of prefix
davem@sunset:~/src/GIT/net-2.6$ 

I added some debugging:

Trying get_pathspec([(null)],[net/ipv4/tcp.c])
prefixlen(0)
prefix_path() gives [net/ipv4/tcp.c]
ERROR: pathspec(net/ipv4/tcp.c)
verify_pathspec: len(9)
ERROR: len(9) ce_namelen(ce)(7) ce->name(COPYING)

Is something wrong with my index file?

I tried to rebuild it using:

git read-tree master
git checkout-index -f -a
git update-index --refresh

but I keep getting the same problem.

It happens on all of my local 2.6.x kernel GIT trees.

Any ideas?

Thanks a lot.

```

## Linus Torvalds, 2006-08-01 05:18

Subject: Re: git-ls-files prefix superset problem
Message-ID: <Pine.LNX.4.64.0607312217420.4168@g5.osdl.org>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0607312217420.4168%40g5.osdl.org
In-Reply-To: <20060731.221327.26966465.davem@davemloft.net>

```


On Mon, 31 Jul 2006, David Miller wrote:
> 
> I had been previously using git-1.1.3 on my local repositories
> and I upgraded to the current git head:
> 
> b63fafdfd844c2037fba53b9944431c1378b4135
> 
> git commit stopped working, specifically it dies on
> git-ls-files:
> 
> davem@sunset:~/src/GIT/net-2.6$ ../git/git-ls-files -- net/ipv4/tcp.c
> fatal: git-ls-files: internal error - cache entry not superset of prefix

It should be fixed by the recent commit

	Fix up some fallout from "setup_git_directory()" cleanup

that Junio already merged.

So just update your git again, and everything should be happy.

		Linus

```

## David Miller, 2006-08-01 05:25

Subject: Re: git-ls-files prefix superset problem
Message-ID: <20060731.222557.52166634.davem@davemloft.net>
URL: https://gitlist.dev/e/20060731.222557.52166634.davem%40davemloft.net
In-Reply-To: <Pine.LNX.4.64.0607312217420.4168@g5.osdl.org>

```
From: Linus Torvalds <torvalds@osdl.org>
Date: Mon, 31 Jul 2006 22:18:47 -0700 (PDT)

> It should be fixed by the recent commit
> 
> 	Fix up some fallout from "setup_git_directory()" cleanup
> 
> that Junio already merged.
> 
> So just update your git again, and everything should be happy.

Yeah, just as you responded I noticed the there was local
variable shadowing of "prefix" which causes it to be NULL
and thus prune_cache() doesn't get called.

Thanks!

```
