From 331e87ff9081b7df1da8722f05a90dee5dc795ea Mon Sep 17 00:00:00 2001 From: mpabi Date: Sun, 26 Apr 2026 13:02:12 +0200 Subject: [PATCH] Move source repos under dev/edu --- README.md | 17 +++++++++++++---- doc/workspace.md | 18 +++++++++++++----- workspace.json | 6 +++--- workspace.py | 7 +++++-- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 4f227b5..f3995b2 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Launcher do workspace `rv`. Repo oryginalne trzymamy poza workspace: ```bash -~/dev/rv/repos +~/dev/edu/repos/rv ``` Workspace sluzy do klonow roboczych i cwiczen: @@ -24,15 +24,24 @@ Workspace sluzy do klonow roboczych i cwiczen: Typowy uklad: ```text -~/dev/rv/repos/rv-launcher -~/dev/rv/repos/rv32i-hazard3-env +~/dev/edu/repos/rv/rv-launcher +~/dev/edu/repos/rv/rv32i-hazard3-env +~/dev/edu/repos/rv/series// ~/dev/workspace/rv/tools/rv-launcher ~/dev/workspace/rv/tools/rv32i-hazard3-env ~/dev/workspace/rv/series// ``` Launcher szuka `rv32i-hazard3-env` najpierw w workspace, a jesli nie znajdzie -klona roboczego, moze uzyc repo oryginalnego z `~/dev/rv/repos`. +klona roboczego, moze uzyc repo oryginalnego z `~/dev/edu/repos/rv`. + +Karty pracy tez sa rozdzielone: + +- `~/dev/edu/repos/rv/series/...` to checkouty zrodlowe, nad ktorymi pracujemy +- `~/dev/workspace/rv/series/...` to klony testowe pobierane z Gitea + +Launcher wykonuje `list-series`, `list-cards`, `submission` i `tmux-container` +na kartach z workspace, nie na repo zrodlowych. ## Przygotowanie katalogu diff --git a/doc/workspace.md b/doc/workspace.md index 303a96e..3f4ccde 100644 --- a/doc/workspace.md +++ b/doc/workspace.md @@ -7,7 +7,7 @@ Plik opisuje przelaczniki i liste komend skryptu `workspace.py`. Repo oryginalne trzymamy poza workspace: ```bash -~/dev/rv/repos +~/dev/edu/repos/rv ``` Workspace sluzy do klonow roboczych i cwiczen: @@ -19,8 +19,9 @@ Workspace sluzy do klonow roboczych i cwiczen: Typowy uklad: ```text -~/dev/rv/repos/rv-launcher -~/dev/rv/repos/rv32i-hazard3-env +~/dev/edu/repos/rv/rv-launcher +~/dev/edu/repos/rv/rv32i-hazard3-env +~/dev/edu/repos/rv/series// ~/dev/workspace/rv/tools/rv-launcher ~/dev/workspace/rv/tools/rv32i-hazard3-env ~/dev/workspace/rv/series// @@ -28,8 +29,14 @@ Typowy uklad: `workspace.py` czyta karty z `series_root` w workspace. Tool repo `rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku -`~/dev/rv/repos` lub `~/dev/rv/tools`, jesli taki klon roboczy jeszcze nie -istnieje. +`~/dev/edu/repos/rv`, jesli taki klon roboczy jeszcze nie istnieje. + +Karty pracy tez sa rozdzielone: + +- `original_series_root` wskazuje repo zrodlowe kart, na przyklad `~/dev/edu/repos/rv/series` +- `series_root` wskazuje klony testowe w workspace, na przyklad `~/dev/workspace/rv/series` + +Komendy launchera pracuja na `series_root`, czyli na klonach testowych. ## Pobranie repo i przelaczenie galezi @@ -179,6 +186,7 @@ Typowy format: ```text config_path... original_root... +original_series_root... workspace_root... series_root... socket_root... diff --git a/workspace.json b/workspace.json index dcc8dd3..46a20cf 100644 --- a/workspace.json +++ b/workspace.json @@ -1,14 +1,14 @@ { "version": 1, - "original_root": "~/dev/rv/repos", + "original_root": "~/dev/edu/repos/rv", + "original_series_root": "~/dev/edu/repos/rv/series", "workspace_root": "~/dev/workspace/rv", "series_root": "~/dev/workspace/rv/series", "socket_root": "~/dev/workspace/rv/sockets", "token_file": "~/dev/workspace/rv/tokens/tokens.json", "tools_root_candidates": [ "~/dev/workspace/rv/tools/rv32i-hazard3-env", - "~/dev/rv/repos/rv32i-hazard3-env", - "~/dev/rv/tools/rv32i-hazard3-env" + "~/dev/edu/repos/rv/rv32i-hazard3-env" ], "git": { "base_url": "http://77.90.8.171:3001", diff --git a/workspace.py b/workspace.py index 9ec19eb..1b0cefd 100755 --- a/workspace.py +++ b/workspace.py @@ -37,6 +37,7 @@ class GitConfig: class WorkspaceConfig: config_path: Path original_root: Path + original_series_root: Path workspace_root: Path series_root: Path socket_root: Path @@ -51,8 +52,9 @@ def load_config(config_path: Path) -> WorkspaceConfig: raw = json.loads(config_path.read_text(encoding="utf-8")) base_dir = config_path.parent - original_root = expand_path(raw.get("original_root", "~/dev/rv/repos"), base_dir) + original_root = expand_path(raw.get("original_root", "~/dev/edu/repos/rv"), base_dir) workspace_root = expand_path(raw.get("workspace_root", "~/dev/workspace/rv"), base_dir) + original_series_root = expand_path(raw.get("original_series_root", str(original_root / "series")), base_dir) series_root = expand_path(raw.get("series_root", str(workspace_root / "series")), base_dir) socket_root = expand_path(raw.get("socket_root", str(workspace_root / "sockets")), base_dir) token_path = expand_path(raw.get("token_file", str(workspace_root / "tokens" / "tokens.json")), base_dir) @@ -62,7 +64,6 @@ def load_config(config_path: Path) -> WorkspaceConfig: candidate_values = [ raw.get("tools_root", str(workspace_root / "tools" / "rv32i-hazard3-env")), str(original_root / "rv32i-hazard3-env"), - "~/dev/rv/tools/rv32i-hazard3-env", ] tools_root_candidates = [expand_path(value, base_dir) for value in candidate_values] @@ -82,6 +83,7 @@ def load_config(config_path: Path) -> WorkspaceConfig: return WorkspaceConfig( config_path=config_path, original_root=original_root, + original_series_root=original_series_root, workspace_root=workspace_root, series_root=series_root, socket_root=socket_root, @@ -1006,6 +1008,7 @@ def run_tmux_container(config: WorkspaceConfig, args: argparse.Namespace) -> Non def print_config(config: WorkspaceConfig) -> None: print(f"config_path\t{config.config_path}") print(f"original_root\t{config.original_root}") + print(f"original_series_root\t{config.original_series_root}") print(f"workspace_root\t{config.workspace_root}") print(f"series_root\t{config.series_root}") print(f"socket_root\t{config.socket_root}")