Read series from workspace manifest

This commit is contained in:
mpabi
2026-04-29 20:42:30 +02:00
parent cb1fc4d450
commit 170d8435aa
6 changed files with 475 additions and 116 deletions
+35 -9
View File
@@ -22,21 +22,24 @@ Typowy układ:
~/dev/edu/repos/rv/rv-launcher
~/dev/edu/repos/rv/rv32i-hazard3-env
~/dev/edu/repos/rv/series/<seria>/<karta>
~/dev/workspace/rv/meta/workspace-info
~/dev/workspace/rv/tools/rv-launcher
~/dev/workspace/rv/tools/rv32i-hazard3-env
~/dev/workspace/rv/series/<seria>/<karta>
```
`rvctl` czyta karty z `series_root` w workspace. Tool repo
`rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku
`~/dev/edu/repos/rv`, jeśli taki klon roboczy jeszcze nie istnieje.
`rvctl` czyta publiczny opis serii i kart z `workspace-info`, a pobrane karty
trzyma w `series_root` w workspace. Tool repo `rv32i-hazard3-env` wybiera
najpierw z workspace, a potem z fallbacku `~/dev/edu/repos/rv`, jeśli taki klon
roboczy jeszcze nie istnieje.
Karty pracy też są rozdzielone:
Karty pracy są rozdzielone:
- `original_series_root` wskazuje repo źródłowe kart, na przykład `~/dev/edu/repos/rv/series`
- `series_root` wskazuje klony testowe w workspace, na przykład `~/dev/workspace/rv/series`
- `workspace_info_path` wskazuje manifest, na przykład `~/dev/workspace/rv/meta/workspace-info/workspace.json`
- `series_root` wskazuje klony robocze w workspace, na przykład `~/dev/workspace/rv/series`
- `original_series_root` zostaje fallbackiem dla lokalnych repo źródłowych
Komendy launchera pracują na `series_root`, czyli na klonach testowych.
Komendy launchera pracują na `series_root`, czyli na klonach roboczych.
## Pobranie repo i przełączenie gałęzi
@@ -203,6 +206,8 @@ Szczegółowy help parsera:
Komendy:
- `show-config`
- `workspace show`
- `workspace sync`
- `list-series`
- `list-cards [series]`
- `series list`
@@ -238,6 +243,9 @@ config_path<TAB>...
original_root<TAB>...
original_series_root<TAB>...
workspace_root<TAB>...
workspace_info_path<TAB>...
workspace_info_url<TAB>...
workspace_info_status<TAB>...
series_root<TAB>...
socket_root<TAB>...
token_path<TAB>...
@@ -259,10 +267,28 @@ Przykład:
./rvctl show-config
```
## `workspace show`
Pokazuje lokalizację i stan publicznego manifestu wspólnego workspace.
```bash
./rvctl workspace show
```
## `workspace sync`
Klonuje albo aktualizuje repo `edu-workspace/workspace-info` do katalogu
`~/dev/workspace/rv/meta/workspace-info`.
```bash
./rvctl workspace sync
./rvctl workspace sync --dry-run
```
## `series list`
Listuje serie dostępne w źródłach i workspace. Komenda tworzy `series_root`,
jeżeli katalog jeszcze nie istnieje.
Listuje serie dostępne w `workspace-info` i workspace. Komenda tworzy
`series_root`, jeżeli katalog jeszcze nie istnieje.
Format wyjścia: