threads / discuss / 31864

Unexpected directories from read-tree

Subject: Unexpected directories from read-tree

## tl;dr

3 messages between Oct 18, 2012 and Oct 19, 2012.

replies: 2people: 2as markdown or json

Uri Moszkowicz· Oct 18, 2012, 23:10 UTC · lore

I'm testing out the sparse checkout feature of Git on my large (14GB) repository and am running into a problem. When I add "dir1/" to sparse-checkout and then run "git read-tree -mu HEAD" I see dir1 as expected. But when I add "dir2/" to sparse-checkout and read-tree again I see dir2 and dir3 appear and they're not nested. If I replace "dir2/" with "dir3/" in the sparse-checkout file, then I see dir1 and dir3 but not dir2 as expected again. How can I debug this problem?

Nguyen Thai Ngoc Duy· Oct 19, 2012, 03:34 UTC · re: Uri Moszkowicz · lore

Re: Unexpected directories from read-tree

On Fri, Oct 19, 2012 at 6:10 AM, Uri Moszkowicz <uri@4refs.com> wrote:
Show 7 quoted lines
> I'm testing out the sparse checkout feature of Git on my large (14GB)
> repository and am running into a problem. When I add "dir1/" to
> sparse-checkout and then run "git read-tree -mu HEAD" I see dir1 as
> expected. But when I add "dir2/" to sparse-checkout and read-tree
> again I see dir2 and dir3 appear and they're not nested. If I replace
> "dir2/" with "dir3/" in the sparse-checkout file, then I see dir1 and
> dir3 but not dir2 as expected again. How can I debug this problem?

Posting here is step 1. What version are you using? You can look at unpack-trees.c The function that does the check is excluded_from_list. You should check "ls-files -t", see if CE_SKIP_WORKTREE is set correctly for all dir1/*, dir2/* and dir3/*. Can you recreate a minimal test case for the problem?

-- 
Duy
Uri Moszkowicz· Oct 19, 2012, 16:10 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Unexpected directories from read-tree

I am using 1.8.0-rc2 but also tried 1.7.8.4. Thanks for the suggestion to use "ls-files -t" - that's exactly what I was looking for. With that I was easily able to tell what the problem is: missing "/" from the sparse-checkout file.

On Thu, Oct 18, 2012 at 10:34 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:

Show 16 quoted lines
> On Fri, Oct 19, 2012 at 6:10 AM, Uri Moszkowicz <uri@4refs.com> wrote:
>> I'm testing out the sparse checkout feature of Git on my large (14GB)
>> repository and am running into a problem. When I add "dir1/" to
>> sparse-checkout and then run "git read-tree -mu HEAD" I see dir1 as
>> expected. But when I add "dir2/" to sparse-checkout and read-tree
>> again I see dir2 and dir3 appear and they're not nested. If I replace
>> "dir2/" with "dir3/" in the sparse-checkout file, then I see dir1 and
>> dir3 but not dir2 as expected again. How can I debug this problem?
>
> Posting here is step 1. What version are you using? You can look at
> unpack-trees.c The function that does the check is excluded_from_list.
> You should check "ls-files -t", see if CE_SKIP_WORKTREE is set
> correctly for all dir1/*, dir2/* and dir3/*. Can you recreate a
> minimal test case for the problem?
> --
> Duy

← back to recent threads