mv: wrong reason when the source can't be stat'ed (missing 'x/' says Not a directory, EACCES says No such file)
Los mantenedores suelen responder en 1 día
@emirmrkaljevic ya está trabajando en esto.
Desde el 23/10/2026.
- #15705 de @emirmrkaljevic — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
Línea de trabajo
Empieza por la ruta de rename() de la implementación de mv, donde, según el issue, se descarta el error de symlink_metadata() de la fuente. Sigue cómo ese error se convierte en el diagnóstico y luego ejecuta las pruebas pertinentes de mv o añade casos para una fuente inexistente con una barra final y una ruta no legible. El trabajo está terminado cuando ambos casos indican el motivo correspondiente y se conserva el código de salida 1.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
mv reports the wrong reason when it can't stat the source.
$ touch f; mkdir d; touch d/x; chmod 000 d
$ mv missing/ g # GNU 9.7 / 9.12
mv: cannot stat 'missing/': No such file or directory
$ uu-mv missing/ g # uutils main
mv: cannot stat 'missing/': Not a directory
$ mv d/x g # GNU
mv: cannot stat 'd/x': Permission denied
$ uu-mv d/x g # uutils main
mv: cannot stat 'd/x': No such file or directory
Exit codes match (1); only the message is wrong. In rename() the source symlink_metadata() error is thrown away: a trailing slash always becomes "Not a directory" and anything else becomes "No such file or directory".
Found with behave, comparing GNU coreutils and uutils on trailing-slash and unreadable-path inputs.
- Lenguaje dominante
- Rust
- Estrellas
- 24.3k
- Forks
- 2.1k
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 396
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- 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 uutils/coreutils
-
Unhelpful manual page(s)Abierto
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
pr: -n repeats line numbers after a form feedPosiblemente ocupada @1kailas la tomó hoy. AbiertoU - pr
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
U - nl
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
uniq: overflowing -f/-s/-w values with trailing garbage are silently acceptedPosiblemente ocupada @huuan26 la tomó hoy. AbiertoU - uniq
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
README: Rust version is outdatedAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
Todos los issues de uutils/coreutils
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
riverqueue/river#1576 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
stadelmanma/fitparse-rs#64 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día