Skip to content

Git LFS mismatch for shadcn-components.tar.gz breaks submodule usage #872

@booch

Description

@booch

Problem

skills/web-artifacts-builder/scripts/shadcn-components.tar.gz was committed as a raw binary blob, but .gitattributes tracks *.tar.gz with the LFS filter. This causes a persistent dirty working tree — every checkout produces a file that doesn't match the index.

$ git reset --hard HEAD
Encountered 1 file that should have been a pointer, but wasn't:
	skills/web-artifacts-builder/scripts/shadcn-components.tar.gz

$ git diff --stat
 .../scripts/shadcn-components.tar.gz | Bin 19967 -> 130 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

Impact

When this repo is used as a git submodule, git pull --rebase in the parent repo fails:

fatal: cannot rebase with locally recorded submodule modifications

There is no way to make the submodule clean without working around the LFS configuration.

Workaround

Override .gitattributes locally inside the submodule:

echo '*.tar.gz filter= diff= merge=' > .git/info/attributes
git reset --hard HEAD

Suggested fix

Either:

  1. Re-commit the file through the LFS filter so the blob is a proper LFS pointer, or
  2. Remove *.tar.gz from the LFS tracking in .gitattributes if LFS isn't intended for this file

The file was introduced in b0cbd3d (2026-03-06).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions