filesystem: move_file fails across filesystems (EXDEV)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 54/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- backend
Línea de trabajo
Start with src/filesystem/lib.ts and inspect moveFile and its existing tests. Reproduce a move between directories on different filesystems to confirm the EXDEV path, then check the no-overwrite, cleanup, and symlink constraints in the issue. Done means the fallback moves the file while preserving all three constraints.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
moveFile in src/filesystem/lib.ts checks that the destination does not exist and then calls fs.rename. rename cannot cross a device boundary, so a move between two allowed directories on different mounts (a container bind mount, a network share, a second disk) fails with EXDEV.
Expected
On EXDEV, fall back to copying and then removing the source. The fallback keeps the no-overwrite contract, leaves no partial destination behind if it fails, and does not follow symlinks out of the allowed directories while copying.
Prior work
- #4720 by @Excelius-Wang
The PR(s) above targeted the pre-refactor code and are closed as part of the backlog triage in #4875; this issue is where the work continues, with the PR(s) as a prototype. Thank you to their authors.
- Lenguaje dominante
- TypeScript
- Estrellas
- 91.4k
- Forks
- 11.8k
- Merge medio
- 6 h 37 min
- PR fusionados (30 d)
- 147
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 modelcontextprotocol/servers
-
Clear the four CodeQL alerts in the release scripts (replaceAll for %2F, comment-line check)Abiertochore v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
modelcontextprotocol/servers#5261 ·
Los mantenedores suelen responder en 1 día
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
modelcontextprotocol/servers#5231 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
modelcontextprotocol/servers#5230 ·
Los mantenedores suelen responder en 1 día
-
git: README should state plainly that without --repository every reachable repository is in scopeAbiertodocumentation server-git v2
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
modelcontextprotocol/servers#5225 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
chore v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
modelcontextprotocol/servers#5223 ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/servers
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Merit-Systems/x402scan#1312 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Native Web
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
digitalfabrik/integreat-app#4517 ·
Los mantenedores suelen responder en 2 días
-
TLS guide repeats certs/ in the certificate directoryPosiblemente ocupada @maheshrijal la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
prometheus/docs#3156 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
medusajs/dtc-starter#90 ·
Los mantenedores suelen responder en 1 día