[Bug]: New worktrees fail with "Git output exceeded 1000000 bytes" when git worktree add writes over 1 MB
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 75/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- git, typescript
- Bereich
- developer-experience, tooling
Rechercherichtung
Beginne in apps/server bei src/vcs/GitVcsDriverCore.ts, in createWorktree und dessen Aufruf von executeGitWithStableDiagnostics; vergleiche die Behandlung der Ausgabe mit der Änderung an git pull in #17376. Das Issue verweist auf die Behandlung von Abschneidungen und Fortschritts-Callbacks als den zu untersuchenden Bereich. Überprüfe, dass übergroße Ausgaben nicht mehr dazu führen, dass ein erfolgreiches git worktree add fehlschlägt, und dass der Worktree erstellt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- In any repo, add a
post-checkouthook that prints more than 1 MB (git sends hook stdout to its stderr):printf '#!/bin/sh\nhead -c 1100000 /dev/zero | tr "\\0" x\n' > .git/hooks/post-checkout && chmod +x .git/hooks/post-checkout - Start a new-worktree thread for that project, or call
delegate_taskwithisolation: "worktree".
The hook is a stand-in for any large output during checkout. A focused driver test on main (695f5c99) fails the same way.
Expected behavior
If git worktree add succeeds, the worktree is created and the thread starts. T3 only needs the progress lines from this command, not its full output.
Actual behavior
createWorktree runs git worktree add under the default 1 MB per-stream output cap, without appendTruncationMarker (GitVcsDriverCore.ts, createWorktree → executeGitWithStableDiagnostics). Once stderr passes 1 MB, the command fails and git is stopped partway through:
Workspace preparation failed during provision worktree: Git command failed in GitVcsDriver.createWorktree (<repo>): Git output exceeded 1000000 bytes and was truncated.
The failed attempt's t3/… branch is left behind.
We hit this in a repo with about 85,000 tracked files and 12,000 Git LFS objects. Two delegate_task worktree launches started 19 s apart from the same commit; one failed this way after about 230 s, and the other succeeded. Checkout progress (GIT_PROGRESS_DELAY=0) isn't the cause: piped stderr from git worktree add measured about 4.4 KB in that repo. We couldn't identify what went over 1 MB, because the output isn't logged. Anything that writes to git's stderr during checkout counts, including hooks, filter drivers such as git-lfs, and per-file warnings.
Impact
Minor bug or occasional failure
Version or commit
Desktop 0.1.1 (same createWorktree as main @ 695f5c99)
Environment
macOS (Darwin 25.6), Apple git 2.50.1, git-lfs 3.5.1
Logs or stack traces
GitCommandError: Git command failed in GitVcsDriver.createWorktree (…): Git output exceeded 1000000 bytes and was truncated.
❯ src/vcs/GitVcsDriverCore.ts:870:21 (collectOutput)
Screenshots, recordings, or supporting files
No response
Workaround
Delegate with isolation: "shared" and create the worktree manually.
Possible fix (suggestion only)
Do what #17376 did for git pull: run worktree add with appendTruncationMarker: true. Oversized output is then cut off instead of failing a checkout git completed, and the exit code still decides success. Progress updates past the cap would also need keepLineCallbacksAfterTruncation. Related: #17358, #25207, #21635.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 24.8k
- Forks
- 6.4k
- Ø Merge
- 2 Std. 54 Min.
- Gemergte PRs (30 T.)
- 350
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus pingdotgg/t3code
-
[Bug]: Pen taps on sidebar rows start a drag and lose their clickEvtl. vergeben @makhnatkin hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: Guest messages near the 4,000-char limit fail with 400 "The request was not valid." because multipart turns \n into \r\nEvtl. vergeben @juliusmarminge hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
pingdotgg/t3code#26523 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: preview_evaluate forbids WebMCP write tools even when the user explicitly asks for the changeOffenbug needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in pingdotgg/t3code
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
scaleway/ultraviolet#7089 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
tencent-connect/dsh-qqbot#81 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
clangd/vscode-clangd#1009 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag