apply_patch drops the executable bit when moving a script
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
La rama de movimiento de la implementación del parche está en codex-rs/apply-patch/src/lib.rs, alrededor de las líneas 583-629; léela para ver cómo se escribe el archivo de destino y se elimina el origen. Reproduce el problema con los pasos de shell del issue y confirma que stat -c '%a %n' start.sh muestra 644 en lugar de 755. Está terminado cuando el archivo movido conserva los bits de permisos del origen, cubierto por una prueba de regresión que mueve un script 0755 a una nueva ruta y lo ejecuta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Rust
- Estrellas
- 135k
- Forks
- 21.4k
- Merge medio
- 1 min
- PR fusionados (30 d)
- 997
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openai/codex
-
ImageGen generate-batch aborts valid JSONL jobs containing a Unicode line separator in poster textAbiertobug imagen skills
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
gitDiffToRemote fails on an unpushed topic branch when the remote default branch contains a slashAbiertoapp-server bug CLI
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug CLI
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Default skill installation strips executable bits and breaks the curated Playwright launcherAbiertobug CLI skills
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
bug imagen skills
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
Todos los issues de openai/codex
Issues similares
-
bug UI
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
wardian-app/Wardian#1746 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
jlcodes99/cockpit-tools#3125 ·
Los mantenedores suelen responder en 2 días
-
bug user-sprint
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Vondor/KassenSturz#967 ·
Los mantenedores suelen responder en 1 día
-
area/ci
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
[BUG] Incremental sync warns "no stored highest_uid" on every round for folders with no new mailAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
rustmailer/bichon#411 ·