Skip to content

task template: base_copy without mv of the image tree - #49

Merged
ArjunS07 merged 3 commits into
survey/phase1-template-shadow-conftestfrom
fix/base-copy-no-mv
Oct 8, 2026
Merged

ArjunS07 merged 3 commits into
survey/phase1-template-shadow-conftestfrom
fix/base-copy-no-mv

Conversation

@ArjunS07

@ArjunS07 ArjunS07 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

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_base that paired timing compares against. Both trees must be renamable, so neither may stay an image directory. The step used to mv the repo out and copy it back. On numpy#12445 (183,279 loose git objects) and pandas#40007 (177,548), mv stopped with thousands of mv: cannot remove '/workspace/repo/.git/objects/..': No such file or directory, and every trial of the task failed. A plain mv of 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 -rf skips such entries; mv treats them as errors.

The step now copies the repo twice (to .fc_base and to a new tree), deletes the image tree with rm -rf, renames the new tree into place, and checks that both trees have the same HEAD.

Changes

  • template/tests/setup.sh, base_copy step: two cp -a, rm -rf, a rename of the new tree, and a HEAD check.
    • Effect: no mv of the image tree, and the step stops only if the two trees differ.
    • Before: numpy#12445 failed in base_copy in 18 of 18 trials on the survey machine, and pandas#40007 in 6 of 6 on an AWS host.
  • tests/docker/test_setup_base_copy.py: the step makes two equal trees at the same HEAD without mv of the repo.

Verification

  • The new test passes, and fails on the old step.
  • tests/docker: no new failures.

Notes

  • Disk use in the container is the same as before: two copies of the repo in the upper layer.

@ArjunS07
ArjunS07 merged commit 33e2e39 into survey/phase1-template-shadow-conftest Oct 8, 2026
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