apply_patch drops the executable bit when moving a script
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Il ramo di spostamento dell'implementazione della patch si trova in codex-rs/apply-patch/src/lib.rs, intorno alle righe 583-629; leggilo per capire come viene scritto il file di destinazione e rimosso quello sorgente. Riproduci il problema con i passaggi di shell della issue e conferma che stat -c '%a %n' start.sh stampa 644 invece di 755. È completato quando il file spostato mantiene i bit dei permessi del sorgente, coperto da un test di regressione che sposta uno script 0755 in un nuovo percorso e lo esegue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Moving and editing an executable script with *** Move to: reports success, but the new file is mode 0644. A build or CI job that invokes the renamed script directly fails with exit status 126.
Environment Official Linux x86_64 CLI 0.169.0, umask 022. Also reproduced on 0.167.0-alpha.4. No model or account is needed.
Steps to reproduce
Run in an empty temporary directory. The command below invokes the patch implementation shipped in the Codex binary.
umask 022
printf '#!/bin/sh\necho before\n' > launch.sh
chmod 755 launch.sh
./launch.sh
codex --codex-run-as-apply-patch '*** Begin Patch
*** Update File: launch.sh
*** Move to: start.sh
@@
-echo before
+echo after
*** End Patch'
stat -c '%a %n' start.sh
./start.sh
Observed The original script prints before. The patch exits 0 and reports M start.sh. The mode check prints 644 start.sh, and executing it gives Permission denied.
Expected The renamed script retains mode 0755 and prints after.
Suggested fix Preserve the source file's executable bits when materializing the moved file. A regression test could move a 0755 script to a previously nonexistent destination and execute it. The move branch currently writes the new path and removes the old one. Move implementation
- Lingua principale
- Rust
- Stelle
- 135k
- Fork
- 21.4k
- Merge medio
- 1m
- PR unite (30g)
- 997
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 openai/codex
-
ImageGen generate-batch aborts valid JSONL jobs containing a Unicode line separator in poster textApertabug imagen skills
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
gitDiffToRemote fails on an unpushed topic branch when the remote default branch contains a slashApertaapp-server bug CLI
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug CLI
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug CLI skills
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
bug imagen skills
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di openai/codex
Issue simili
-
bug UI
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
wardian-app/Wardian#1746 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
jlcodes99/cockpit-tools#3125 ·
I maintainer di solito rispondono entro 2 giorni
-
bug user-sprint
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Vondor/KassenSturz#967 ·
I maintainer di solito rispondono entro 1 giorno
-
area/ci
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Incremental sync warns "no stored highest_uid" on every round for folders with no new mailApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
rustmailer/bichon#411 ·