feat(wiki): 五個目錄頁改走專用存取庫,補齊 wiki-url 退出碼分流
What:PLAN、ANALYZE、DELIVER、MAINTAIN、REPO 五個目錄頁改由 wiki-repo CONTENTS 解析並透過 wiki-contents.sh upsert 寫入,內容頁仍各走自己的型別。MAINTAIN 只有 目錄頁,整個型別都在專用存取庫。 Why:目錄頁與內容頁不再同庫,跨庫沒有 wiki 連結語法可用,一律改 wiki-url 的絕對 網址。原本四處取網址都沒有退出碼分流,5 被讀成空字串就寫出空連結,7 被讀成 4 就 把活著的頁當成沒寫成。 How:plan 與 analyze 會上階段鎖,而寫入閘門只看鎖不看路徑,所以流程要產的列檔與 暫存檔會被自己的閘門擋掉。兩支的限制段明寫這些檔一律用 heredoc 或 mktemp 產出。 wp-gate.sh 讀的是分析內容頁,維持走 ANALYZE,原地註明不得改成 CONTENTS。 Who:jsc-sdlc
This commit is contained in:
+6
-1
@@ -77,6 +77,8 @@
|
||||
# 若寫的是另一份計畫或另一張分析頁的敘述(例如「節點建置」這種跨頁文字依賴),這支腳本
|
||||
# 沒有能力去查那邊的狀態,只能原樣列出來要求人工確認,不會拿它當擋人的理由——結構上就
|
||||
# 查不到的東西當成擋人的理由,跟前一條「查不到就擋」矛盾,會讓那個工作包永遠挑不到。
|
||||
# - --analyze 的頁名原樣送查,本檔不驗 hash 長度:完整 40 碼與還沒搬的舊 8 碼都收得下。
|
||||
# 驗長度只會在頁名規則變動時把讀得到的頁擋成 missing-dep,判長度的正本在 jsc-gitea。
|
||||
# - 工作包代號補零與否兩種寫法都會出現(WP-8、WP-08),比對前一律先過 wp_norm 正規化,
|
||||
# 不然同一包的兩種寫法會被當成兩包,歸屬比對永遠對不上。
|
||||
# - 領取檔一個存取庫一支,不是一個工作包一支。所以合併後交回領取紀錄之前要先確認
|
||||
@@ -329,8 +331,11 @@ case "$sub" in
|
||||
|
||||
gitea=$(gitea_sh) || missing_dep "找不到 jsc-gitea 的 tools/gitea.sh。並排版面請確認 {workspace}/gitea 存在,已安裝版面請確認 jsc-gitea plugin 已安裝,或設定 JSC_GITEA_TOOLS 指向它的 tools 目錄。"
|
||||
|
||||
# 分析頁是內容頁,住在 ANALYZE 型別的存取庫,不是目錄頁那個 CONTENTS 專用存取庫。
|
||||
# 兩者分家之後這裡最容易被順手改成 CONTENTS:改了就再也讀不到 WBS 表,
|
||||
# 每個候選工作包都會判成 missing-dep,等於閘門整個停擺。
|
||||
wiki_repo=$(sh "$gitea" wiki-repo ANALYZE 2>/dev/null)
|
||||
[ -n "$wiki_repo" ] || missing_dep "解析不出 ANALYZE 頁的 wiki 存取庫(JSC_WIKI_REPO_ANALYZE 與 JSC_WIKI_REPO 都未設定)。"
|
||||
[ -n "$wiki_repo" ] || missing_dep "解析不出 ANALYZE 內容頁的 wiki 存取庫(JSC_WIKI_REPO_ANALYZE 與 JSC_WIKI_REPO 都未設定)。目錄頁的 JSC_WIKI_REPO_CONTENTS 不供這裡退讓。"
|
||||
page="$analyze"
|
||||
content=$(sh "$gitea" wiki-get "$wiki_repo" "$page" 2>/dev/null)
|
||||
[ -n "$content" ] || missing_dep "讀不到分析頁 $wiki_repo 的 $page。"
|
||||
|
||||
Reference in New Issue
Block a user