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

[Bug] Windows repository cloning fails while creating an existing drive root

Aperta Adatta ai principianti
#17,927 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
73/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
electron, node.js, typescript
Ambito
backend, desktop

Direzione di ricerca

Leggi apps/server/src/sourceControl/SourceControlRepositoryService.ts, in particolare prepareDestination alle righe 221–247. Riproduci il problema su Windows con una nuova destinazione direttamente sotto la radice di un’unità esistente e verifica come la preparazione della directory padre gestisce tale radice. Il lavoro è completato quando la destinazione è preparata e la clonazione procede senza l’errore EPERM.

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

Descrizione

What happened

T3 Code's desktop app on Windows could not clone https://github.com/xMrAfonso/comark-loops. The user reported: "For some reason it doesn't clone projects from my github."

Diagnosis

The latest failed attempt stops in destination preparation, before Git starts cloning. The server attempts a recursive directory creation at the drive root, and Windows returns EPERM: operation not permitted, mkdir 'C:\'.

In SourceControlRepositoryService.prepareDestination, a destination that does not exist causes an unconditional fileSystem.makeDirectory(path.dirname(normalizedDestination), { recursive: true }). For a new folder directly under C:\, its parent is the existing drive root. The code does not first check whether that parent already exists.

Source inspected: https://github.com/pingdotgg/t3code/blob/4f63275ac7885281d245022e65f1e9e8816b1382/apps/server/src/sourceControl/SourceControlRepositoryService.ts#L221-L247

The same failure occurred three times in the local trace. Git access to the repository was verified independently, and a manual clone into a nested directory succeeded. This supports a destination-preparation failure for these attempts, rather than a repository access failure.

A possible fix is to avoid creating an already-existing parent directory, including a Windows drive root. This has not been implemented or tested during triage.

Steps to reproduce

The following minimal reproduction is inferred from the trace and source, and has not been independently repeated in the UI. The original destination input was not captured.

  1. Run the Windows desktop app.
  2. Open Add project and choose to clone a GitHub repository.
  3. Use https://github.com/xMrAfonso/comark-loops.
  4. Choose a new destination directly under the drive root, for example C:\comark-loops.
  5. Start the clone.

Expected: the repository is cloned into the new destination.

Observed in the user's trace: preparation fails while attempting mkdir 'C:\', before Git clone runs. The client receives the generic message: Source control repository operation cloneRepository failed for unknown: The source control operation could not be completed.

Version

  • Desktop renderer reports: 0.0.46-nightly.20261010.2935.
  • Separately invoked triage CLI: 0.0.46-nightly.20261010.2948 (npx t3@nightly triage).
  • Diagnosis source checkout: tag v0.0.46-nightly.20261010.2948, commit 4f63275ac7885281d245022e65f1e9e8816b1382; the destination-preparation code above is still present there.

Environment

Windows x64, version 10.0.26200; Node v26.8.2 in the triage context. Electron desktop app with a running local backend.

Evidence

Relevant server trace entries (UTC), with filesystem and provider wrappers summarized and personal paths omitted:

2026-10-10T17:51:19.915Z SourceControlRepositoryService.prepareDestination: Failure
2026-10-10T17:51:29.714Z SourceControlRepositoryService.prepareDestination: Failure
2026-10-10T21:40:08.524Z SourceControlRepositoryService.prepareDestination: Failure

PlatformError: Unknown: FileSystem.makeDirectory (C:\)
[cause]: Error: EPERM: operation not permitted, mkdir 'C:\'

Failure propagates through:
SourceControlRepositoryService.prepareClone
ProjectCloneTracker.start
ws.rpc.projectClone.start

Independent Git check:

git ls-remote https://github.com/xMrAfonso/comark-loops.git HEAD
b8f501e40534e81d4026b28d686a7b9f2ac1173b HEAD

Related issues

No matching issue was found in searches for clone failures involving Windows, EPERM, mkdir, or prepareDestination. This report concerns preparation of the clone destination before Git executes.

Fix applied or workaround

Ran:

git clone https://github.com/xMrAfonso/comark-loops.git C:\Central\VSC\comark-loops

The clone succeeded, with a clean checkout tracking origin/master at b8f501e40534e81d4026b28d686a7b9f2ac1173b. The user was instructed to add that checkout through Add project -> Local folder; that UI step has not been verified. No T3 source, configuration, or database was modified.

Filed by

Codex (GPT-6.1 Sol) via T3 Code triage.

Lingua principale
TypeScript
Stelle
24.8k
Fork
6.4k
Merge medio
12h 40m
PR unite (30g)
322

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

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 pingdotgg/t3code

Tutte le issue di pingdotgg/t3code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.