Closed jrray closed 8 months ago
Fun fact, no tests were harmed in the making of this PR.
This is affecting us when launching jobs on our render farm because spawn sees these changes from spfs diff
and thinks it needs to create an spfs snapshot and capture the changes.
IMO this should be taken a step further and change the Entry
type(s) to only contain sizes for blob-type entries. I have a branch with this change but the problem is that it affects the digest calculation so existing manifests that contain sizes for non-blobs would be readable but then encode back out into an object with a different digest from what it originally had.
The main issue is the size of directories. If a path is committed on one machine with a different filesystem type or with/without fuse, the directory sizes captured into the manifest are platform-dependent, and then rendering that manifest on a different system may cause
spfs diff
to report changes.One easy way to make this happen is to
spk build
a package while fuse is enabled and thenspk env
the built package with fuse disabled.