[#2079] Sync mirrored trees into commits
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia dalla parent issue #2079, dalla schema issue #2089 e dall’helper SHA di parse/one-shot in #2090, quindi segui l’entry point del management-command o del cron. Verifica il flusso Git del repository esistente, gli upsert topologici in commits e commit_parents e la gestione degli errori per remote. Il lavoro è completato quando passano i test elencati per fetch/parse con mock, commit saltato, continuazione dopo un errore e dry-run, senza scrivere in modalità dry-run.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent
https://github.com/kernelci/dashboard/issues/2079
Schema: https://github.com/kernelci/dashboard/issues/2089
Parse / one-shot SHA fetch: https://github.com/kernelci/dashboard/issues/2090
Replaces #2091 (checkout-hash backfill). Filling from distinct checkouts.git_commit_hash cannot produce a continuous first-parent chain when CI skips commits (#2079 discussion).
Management command / cron that keeps commits and commit_parents filled with the ancestor closure of commits we care about: every ancestor of hashes we see in checkouts on trees we mirror. Postgres is the query store. Git is an ingest cache.
In scope
- Persistent treeless repo (
--filter=tree:0), many remotes. Do not throw it away per hash. Do not write underBACKEND_VOLUME_DIR; dedicated volume / path, passed into git. - Remotes from a tree allowlist (treeproof-style known-good URLs), not from arbitrary
checkouts.git_repository_url. - Cron:
git fetchremotes; enumerate new objects (rev-listnew tips--notpreviously ingested tips, or equivalent); parse via the helper in #2090 (existing-repo path, no per-hash fetch). - Upsert
commitsthencommit_parentsin topological order so parent rows exist before edges. No stub rows. - Continue on per-remote failure (bad URL, missing object, full pack). Log and move on. Job must not die on one tree.
- Dry-run: fetch/parse optional, write nothing.
- Do not write
checkouts.git_commit_message. Message lives oncommits.
Optional safety, not the main loop: report checkouts.git_commit_hash still missing from commits (and optionally call the #2090 SHA helper for those gaps).
Out of scope
trees/named_refstables (follow-up).- Snapshot policy for
update_db(follow-up once we know row counts). - Rewriting readers of
checkouts.git_commit_message/ dropping that column (follow-up; copy unreachable messages ontocommitsfirst).
Tests
Mocked parse/fetch: upserts commits + first-parent edges in topo order. One remote fails, others still write. Dry-run writes nothing. Skipped intermediate commit between two checkouts still lands in commits.
- Lingua principale
- Python
- Stelle
- 10
- Fork
- 32
- Merge medio
- 3g 2h
- PR unite (30g)
- 23
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di kernelci/dashboard
-
notifications
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni
-
Show how to add a board missing from the hardware registryForse già presa @alanpeixinho l’ha presa 1 giorno fa. ApertaFrontend q4-plan
Difficoltà 2/5 Mezza giornata Idoneità per principianti 65/100
kernelci/dashboard#2167 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
I maintainer di solito rispondono entro 2 giorni
-
Show the last hardware registry syncForse già presa @alanpeixinho l’ha presa 6 giorni fa. ApertaBackend Frontend q4-plan
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
kernelci/dashboard#2170 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Backend q4-plan
Difficoltà 4/5 3-5 giorni Idoneità per principianti 24/100
kernelci/dashboard#2169 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di kernelci/dashboard
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
[Bug]: Queen's own Ollama model loses num_ctx when a running session switches to itForse già presa @anasamin26 l’ha presa oggi. Apertabug enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aden-hive/hive#7508 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
llm translation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
BerriAI/litellm#47884 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug 🐛
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
netalertx/NetAlertX#1856 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno