Remove orphaned LeRobot LFS test fixtures (fix git lfs pull 404s)#7
Open
hongsukchoi wants to merge 1 commit into
Open
Remove orphaned LeRobot LFS test fixtures (fix git lfs pull 404s)#7hongsukchoi wants to merge 1 commit into
hongsukchoi wants to merge 1 commit into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Cloning the repo and running
git lfs pullfails with[404] Object does not exist on the serverfor 38 LFS objects (reported by @Kartik-Nagpal).Root cause
The vendored copy of
lerobotundermanipulation_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 toamazon-far/fpo-control's LFS (the maintainer's local LFS store was empty too). Hencegit lfs pull404s on all 38 unique OIDs (41 files → 38 OIDs;xarm_lift_medium_tdmpc_use_mpcand..._use_policyshare 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 rmthe 41 orphaned LFS pointer files undertests/artifacts/**.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 pullhas no LFS pointers to resolve → no more 404s.git lfs ls-files→ 0 files after this change.Note
This removes the pointers from
maingoing forward; the reporter'sclone + git lfs pullflow only fetches the checked-out tip, so it'll be clean. The pointers still exist in older commits, so a full-historygit lfs fetch --allwould still 404 — purging those would need a history rewrite (filter-repo/BFG) + force-push, intentionally out of scope here.🤖 Generated with Claude Code