Skip to content

Remove orphaned LeRobot LFS test fixtures (fix git lfs pull 404s)#7

Open
hongsukchoi wants to merge 1 commit into
mainfrom
fix/remove-orphaned-lerobot-lfs-fixtures
Open

Remove orphaned LeRobot LFS test fixtures (fix git lfs pull 404s)#7
hongsukchoi wants to merge 1 commit into
mainfrom
fix/remove-orphaned-lerobot-lfs-fixtures

Conversation

@hongsukchoi
Copy link
Copy Markdown

Problem

Cloning the repo and running git lfs pull fails with [404] Object does not exist on the server for 38 LFS objects (reported by @Kartik-Nagpal).

Root cause

The vendored copy of lerobot under manipulation_experiments/thirdparty/lerobot/ (a plain copied-in directory, not a submodule) was committed with 41 Git LFS pointer files for LeRobot's own test artifacts (tests/artifacts/**: policy weights, dataset frames, image-transform tensors, a RealSense .bag).

It was copied from a checkout where LFS was never smudged, so the 133-byte pointer stubs were committed verbatim. Those pointers reference OIDs that live only in upstream huggingface/lerobot's LFS storage — they were never uploaded to amazon-far/fpo-control's LFS (the maintainer's local LFS store was empty too). Hence git lfs pull 404s on all 38 unique OIDs (41 files → 38 OIDs; xarm_lift_medium_tdmpc_use_mpc and ..._use_policy share 3 identical tensors).

These are LeRobot's unit-test fixtures and are not used by the locomotion/manipulation code. In fact 100% of the repo's LFS content was these unused fixtures, so dropping them costs nothing.

Change

  • git rm the 41 orphaned LFS pointer files under tests/artifacts/**.
  • Keep the fixture generator scripts (save_*_to_safetensors.py) and LeRobot's upstream .gitattributes (no committed files match its LFS patterns anymore, so it's inert).

After this lands on main, git clone … && git lfs pull has no LFS pointers to resolve → no more 404s.

git lfs ls-files0 files after this change.

Note

This removes the pointers from main going forward; the reporter's clone + git lfs pull flow only fetches the checked-out tip, so it'll be clean. The pointers still exist in older commits, so a full-history git lfs fetch --all would still 404 — purging those would need a history rewrite (filter-repo/BFG) + force-push, intentionally out of scope here.

🤖 Generated with Claude Code

The vendored copy of lerobot under manipulation_experiments/thirdparty/lerobot
was committed with 41 Git LFS *pointer* files for its test artifacts
(tests/artifacts/**: policy weights, dataset frames, image-transform tensors,
and a RealSense .bag). Those pointers reference LFS objects that exist only in
upstream huggingface/lerobot's LFS storage and were never uploaded to
amazon-far/fpo-control, so `git lfs pull` returned
"[404] Object does not exist on the server" for all 38 unique OIDs.

These are LeRobot's own unit-test fixtures and are not used by the
locomotion/manipulation code, so drop the dangling pointers. The fixture
generator scripts (tests/artifacts/**/save_*_to_safetensors.py) and LeRobot's
upstream .gitattributes are kept.

Reported-by: Kartik-Nagpal

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant