--build-info: give no answer when pip can't unpack the sdist (file/folder name clash)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
Direzione di ricerca
Read src/wheelgap/pypi.py and its fetch_sdist_pyproject function, then review the existing tar tests in tests/test_build.py. Check how member paths and hard-link names are tracked, and compare unpacking behavior with pip's untar_file if pip is importable. Done means clashes produce no answer, name tracking is capped at 100,000, regression tests cover the cases, and the cache key changes from build-v1 to build-v2.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
--build-info reads an sdist's pyproject.toml the way pip 26.3's untar_file does and gives no answer whenever pip would read something else or fail. One failure case is still answered: a member that is both a file and a folder.
t/pyproject.toml, thent/aas a file, thent/aas a folder (ort/a/x): pip raisesFileExistsError/NotADirectoryError, wheelgap still printsbuild needs: ….
What to do
- In
src/wheelgap/pypi.py(fetch_sdist_pyproject), track which member paths are files and which are folders (explicit or implied by a deeper member), and give no answer on a clash. - Cap the number of names kept for this and for the hard-link check (today the cap is by total characters, so a million short names use about 140 MiB). Something like 100,000 names, after which there's no answer.
- Tests next to the existing tar tests in
tests/test_build.py, including a differential case againstpip._internal.utils.unpacking.untar_fileif it's practical to vendor that call in a test-only helper (skipped when pip isn't importable). - Also bump the build-info cache key (
build-v1→build-v2) since the rules changed after the last release.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di patrickballard/wheelgap
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
patrickballard/wheelgap#269 ·
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
patrickballard/wheelgap#268 ·
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
patrickballard/wheelgap#263 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
patrickballard/wheelgap#260 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
patrickballard/wheelgap#259 ·
Tutte le issue di patrickballard/wheelgap
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
btclib-org/btclib-wallet#872 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme loadForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
saltstack/salt#70789 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
btclib-org/btclib#3093 ·
I maintainer di solito rispondono entro 1 giorno
-
priority: low python
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
LearningCircuit/local-deep-research#8635 ·
I maintainer di solito rispondono entro 1 giorno
-
README says the land/sea mask must match the XS grid; the demo mask does not, and Step 4 worksApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
buckai-observatory/Automated-Cloud-Removal-and-Seamless-Satellite-Image-Mosaicking-Pipeline#52 ·
I maintainer di solito rispondono entro 1 giorno