Repository navigation
task template: base_copy without mv of the image tree - #49
Merged
ArjunS07 merged 3 commits intoOct 8, 2026
Merged
Conversation
…so a huge merged .git does not stop setup
…nftest' into fix/base-copy-no-mv
…ate-verifier template)
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.
Purpose
Stop setup.sh failing in its base_copy step on repos with a very large
.git.How it works
base_copy makes the unpatched copy
/workspace/.fc_basethat paired timing compares against. Both trees must be renamable, so neither may stay an image directory. The step used tomvthe repo out and copy it back. On numpy#12445 (183,279 loose git objects) and pandas#40007 (177,548),mvstopped with thousands ofmv: cannot remove '/workspace/repo/.git/objects/..': No such file or directory, and every trial of the task failed. A plainmvof the same image in a fresh container works, and no git process runs at that time. The likely cause is the merged overlay directory listing entries that were already removed.rm -rfskips such entries;mvtreats them as errors.The step now copies the repo twice (to
.fc_baseand to a new tree), deletes the image tree withrm -rf, renames the new tree into place, and checks that both trees have the same HEAD.Changes
template/tests/setup.sh, base_copy step: twocp -a,rm -rf, a rename of the new tree, and a HEAD check.mvof the image tree, and the step stops only if the two trees differ.tests/docker/test_setup_base_copy.py: the step makes two equal trees at the same HEAD withoutmvof the repo.Verification
tests/docker: no new failures.Notes