2.7 KiB
RV Launcher
To repo zawiera launcher do workspace rv:
workspace.jsontrzyma rooty workspace, socketow i toolinguworkspace.pylistuje serie i karty z dyskuworkspace.py tmux-container ...stawia sesjetmuxz kontenerem wpane 0doc/usage.mdopisuje przelaczniki CLI i format listowania
Pobranie repo
Docelowy katalog:
~/dev/workspace/rv/tools/rv-launcher
Bootstrap:
mkdir -p ~/dev/workspace/rv/tools
cd ~/dev/workspace/rv/tools
git clone http://77.90.8.171:3001/edu-tools/rv-launcher.git
cd rv-launcher
Autoryzacja
Masz dwie drogi.
Droga 1: remote r1 z tokenem w URL
To jest wariant dydaktyczny, jesli uczen ma cwiczyc reczne dodawanie remota z tokenem do konkretnego zdalnego endpointu.
Przyklad:
git remote add r1 http://u1:TOKEN@77.90.8.171:3001/edu-tools/rv-launcher.git
git fetch r1 main
git switch main
git pull --ff-only r1 main
Jesli po zajeciach uzytkownik bedzie chcial wyslac projekt na swoje konto
Gitea, moze zmienic URL remota r1 na swoje repo:
git remote set-url r1 http://LOGIN:TOKEN@77.90.8.171:3001/LOGIN/rv-launcher.git
Droga 2: lokalny tokens/gitea_tokens.json
To jest wariant alternatywny, wygodniejszy wtedy, gdy launcher ma sam wykonywac
clone, fetch i push, albo gdy uzytkownik po zajeciach chce pracowac juz na
wlasnych repo bez wpisywania tokena do kazdego remota.
Przed operacjami wymagajacymi autoryzacji dodaj lokalny token do:
~/dev/workspace/rv/tokens/gitea_tokens.json
Minimalny format:
{
"users": {
"u1": {
"tokens": {
"t1": "TU_WSTAW_TOKEN"
}
}
}
}
Plik powinien byc lokalny, niewersjonowany i miec prawa 600.
Przyklad:
mkdir -p ~/dev/workspace/rv/tokens
chmod 700 ~/dev/workspace/rv/tokens
chmod 600 ~/dev/workspace/rv/tokens/gitea_tokens.json
Fetch i switch
Domyslna galaz launchera to main.
Po sklonowaniu:
git fetch origin main
git switch main
git pull --ff-only
Jesli pracujesz przez r1, odpowiednikiem jest:
git fetch r1 main
git switch main
git pull --ff-only r1 main
Jesli chcesz wejsc na inna galaz, na przyklad feat/x, uzyj:
git fetch origin feat/x
git switch --track -c feat/x origin/feat/x
Wariant przez r1:
git fetch r1 feat/x
git switch --track -c feat/x r1/feat/x
Podstawowe komendy
Przyklady:
python3 workspace.py show-config
python3 workspace.py list-series
python3 workspace.py list-cards inf
python3 workspace.py tmux-container inf 03 --dry-run
python3 workspace.py tmux-container inf 03 --session rv-inf03 --attach
Skrypt nie trzyma listy kart w JSON-ie. Czyta series/*/* z series_root.