Repository navigation
Avoid stalling free workers behind active shared-checkout work - #345
Open
KajoVanBuyten wants to merge 1 commit into
Open
KajoVanBuyten wants to merge 1 commit into
KajoVanBuyten wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem und Verhalten
Ein freier Worker konnte im lokalen Office keine nächste Queue-Aufgabe übernehmen, sobald der gemeinsame Checkout hinter dem Remote lag: Die Synchronisierung wartete auf einen anderen aktiven Worker und hielt die Vergabe ohne Fortschritt fest. Im konkreten Fall war #305 bereits über PR #306 geliefert, Pixel blieb frei und #302 wartete hinter Byte (#303).
Die Checkout-Koordination unterscheidet jetzt aktive Zusammenarbeit und einen unbenutzten Ordner. Während ein Kollege arbeitet, bleibt der gemeinsame Checkout unverändert und ein freier Worker darf die nächste unabhängige Aufgabe erhalten. Die Prüfung wartet nicht mehr in einer unbegrenzten Schleife. Ohne aktive Kollegen werden Upstream und ein möglicher Fast-forward geprüft. Divergenz, unvollständige Git-Operationen und Verifikationsfehler bleiben Blocker; lokale Änderungen werden weder verworfen noch gestasht.
Die Koordination und Prompt-Übermittlung liegen in eigenen Modulen; README und
docs/checkout-safety.mdbeschreiben das Verhalten. Dieser PR enthält die für den frischen main-Stand benötigte Checkout-Koordination als eigenständige Änderung; eine bereits lokal installierte frühere Fassung hatte das Warteproblem.Prüfung
npm run typecheckundnpm run builderfolgreich.npm test -- --test-timeout=20000ausgeführt: Registry- und Clone-Tests schlagen unter Windows fehl; der anschließend hängende Gesamtlauf wurde beendet. Die Gesamtsuite ist nicht grün.