"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: Corruption in freshly checked out tree
To:
Christian Weisgerber <naddy@mips.inka.de>
Cc:
gameoftrees@openbsd.org
Date:
Mon, 10 Jan 2022 00:42:45 +0100

Download raw body.

Thread
On Sun, Jan 09, 2022 at 10:10:07PM +0100, Christian Weisgerber wrote:
> Stefan Sperling:
> 
> > >   sys/dev/pci/drm/amd/include/asic_reg/gc/gc_9_0_sh_mask.h
> > >   sys/dev/pci/drm/amd/include/asic_reg/gc/gc_9_2_1_sh_mask.h
> > 
> > The blob IDs I see for these files are:
> > 
> > efc16ddf274a33f9b31bf264a17b52fca098257f gc_9_0_sh_mask.h
> > 6199fce51e205b4871bfc01e602f7106a23c4439 gc_9_2_1_sh_mask.h
> 
> Same here.
> 
> > Files in my existing checkout are fine. I tried the following in order
> > to reproduce: got co -p sys/dev/pci/drm/amd/include/asic_reg /git/src.git/
> > The files check out fine.
> 
> Same here.
> They are also fine when I check out -p sys.
> But they are corrupt when I check out the whole tree.

Hmm. I cannot reproduce this, either. After checking out the whole
tree to /tmp/src-test, these files have the expected content:

SHA1 (gc_9_0_sh_mask.h) = e446d610c85ebb7eb971a9e8c7639a23444ca92d
SHA1 (gc_9_2_1_sh_mask.h) = bca348726a7b50d89d01cebb26f01e99ff721427

Which matches what is stored in the repository (blob object ID hashes
include the blob object header which is missing from plain file content):

$ got cat efc16ddf274a33f9b31bf264a17b52fca098257f | sha1 -
e446d610c85ebb7eb971a9e8c7639a23444ca92d
$ got cat  6199fce51e205b4871bfc01e602f7106a23c4439 | sha1 -
bca348726a7b50d89d01cebb26f01e99ff721427

$ got info
work tree: /tmp/src-test
work tree base commit: c3b8e4253326789e021b51cd3a899d53383e2d7d
work tree path prefix: /
work tree branch reference: refs/heads/master
work tree UUID: dee302f4-e087-4565-9a9e-422b45e62769
repository: /git/src.git

With ~/bin/got compiled from this clean work tree:

$ got info
work tree: /home/stsp/src/got
work tree base commit: 59b21794ec192212e590f29fd2957e73dc5dc5fe
work tree path prefix: /
work tree branch reference: refs/heads/main
work tree UUID: 64259ab5-1d7f-469c-91af-6dd2e82178c7
repository: /git/got.git