Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

filesystem: move_file fails across filesystems (EXDEV)

Aperta
#5,188 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
node.js, typescript
Ambito
backend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug server-filesystem v2
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.

Lingua principale
TypeScript
Stelle
91.4k
Fork
11.8k
Merge medio
6h 39m
PR unite (30g)
146

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelcontextprotocol/servers

Tutte le issue di modelcontextprotocol/servers

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.