Add submission repo planning for card repos
This commit is contained in:
@@ -5,6 +5,7 @@ To repo zawiera launcher do workspace `rv`:
|
||||
- `workspace.json` trzyma rooty workspace, socketow i toolingu
|
||||
- `workspace.py` listuje serie i karty z dysku
|
||||
- `workspace.py tmux-container ...` stawia sesje `tmux` z kontenerem w `pane 0`
|
||||
- `workspace.py submission ...` wylicza repo odpowiedzi w `zsl-inf` i branch ucznia
|
||||
- `doc/usage.md` opisuje przelaczniki CLI i format listowania
|
||||
|
||||
## Przygotowanie katalogu
|
||||
@@ -41,14 +42,6 @@ git fetch r1 main
|
||||
git switch --track -c main r1/main
|
||||
```
|
||||
|
||||
Jesli po zajeciach uzytkownik bedzie chcial wyslac projekt na swoje konto
|
||||
Gitea, lepiej dodac osobny remote `r2`, zamiast przepinac `r1`:
|
||||
|
||||
```bash
|
||||
git remote add r2 http://LOGIN:TOKEN@77.90.8.171:3001/LOGIN/rv-launcher.git
|
||||
git push -u r2 main
|
||||
```
|
||||
|
||||
### Droga 2: lokalny `tokens/gitea_tokens.json`
|
||||
|
||||
To jest wariant alternatywny, wygodniejszy wtedy, gdy launcher ma sam wykonywac
|
||||
@@ -127,6 +120,55 @@ git fetch origin feat/x
|
||||
git switch --track -c feat/x origin/feat/x
|
||||
```
|
||||
|
||||
## Repo odpowiedzi kart pracy
|
||||
|
||||
Model pracy kart jest taki:
|
||||
|
||||
- `r1` wskazuje repo z materialem z `edu-inf`
|
||||
- `a1` wskazuje wspolne repo odpowiedzi w `zsl-inf`
|
||||
- kazdy uczen wysyla swoja prace na branch o nazwie swojego nicku
|
||||
|
||||
Repo odpowiedzi nie zawiera nicku w nazwie. Launcher buduje je w formacie:
|
||||
|
||||
```text
|
||||
zsl-inf/<repo_z_edu-inf>-<klasa>-<data>
|
||||
```
|
||||
|
||||
Przyklad:
|
||||
|
||||
```text
|
||||
zsl-inf/lab-rv32i-strlen-bss-data-stack-4i-2026-04-26
|
||||
```
|
||||
|
||||
Przyklad planu dla ucznia `u1`:
|
||||
|
||||
```bash
|
||||
python3 workspace.py submission inf 03 --class 4i --nick u1
|
||||
```
|
||||
|
||||
Przyklad konfiguracji remote'ow w repo karty:
|
||||
|
||||
```bash
|
||||
python3 workspace.py submission inf 03 --class 4i --nick u1 --apply
|
||||
```
|
||||
|
||||
Launcher wtedy:
|
||||
|
||||
- czyta URL zrodlowego repo z `origin` aktualnej karty i ustawia go jako `r1`
|
||||
- bierze basename tego repo z `edu-inf` i z niego buduje nazwe repo odpowiedzi
|
||||
- wylicza repo odpowiedzi w `zsl-inf` i ustawia je jako `a1`
|
||||
- proponuje branch ucznia, na przyklad `u1`
|
||||
|
||||
Typowy wynik to:
|
||||
|
||||
```text
|
||||
source_repo edu-inf/lab-rv32i-strlen-bss-data-stack
|
||||
source_remote r1
|
||||
answer_remote a1
|
||||
answer_repo zsl-inf/lab-rv32i-strlen-bss-data-stack-4i-2026-04-26
|
||||
student_branch u1
|
||||
```
|
||||
|
||||
## Wariant alternatywny: `git clone`
|
||||
|
||||
Jesli celem nie jest cwiczenie `remote add` i `fetch`, mozna tez uzyc:
|
||||
@@ -146,6 +188,7 @@ Przyklady:
|
||||
python3 workspace.py show-config
|
||||
python3 workspace.py list-series
|
||||
python3 workspace.py list-cards inf
|
||||
python3 workspace.py submission inf 03 --class 4i --nick u1
|
||||
python3 workspace.py tmux-container inf 03 --dry-run
|
||||
python3 workspace.py tmux-container inf 03 --session rv-inf03 --attach
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user