Thursday, February 11, 2021

Fossil SCM 使用案例

請注意: http://fossil.kmol.info 僅支援 IPv6 網路協定.

Fossil SCMhttps://fossil-scm.org/home/doc/trunk/www/embeddeddoc.wiki 可以與靜態網頁結合應用, 唯一必須注意的是 https://fossil-scm.org/home/doc/trunk/www/defcsp.md 議題.

Fossil SCM documentation 功能

先前已經建議 Fossil SCM 的倉儲可以放在 /home/user/repository/ 目錄中, 以這裡的範例分別為 /home/user/repository/cd2021.fossil 與 /home/user/repository/lab.fossil, 而這兩個倉儲的展開內容分別位於 /home/user/repository/wd/cd2021 與 /home/user/repository/wd/lab 等目錄.

透過 Fossil SCMhttps://fossil-scm.org/home/help/http 指令與 stunnel 的結合運用可以伺服為:

http://fossil.kmol.info/cd2021/doc/trunk/index.html

http://fossil.kmol.info/lab/doc/trunk/index.html

而這兩個 Fossil SCM 倉儲的靜態網頁與 https://mde.tw/cd2021https://mde.tw/lab 內容保持同步. 且 Fossil SCM 的靜態網頁可以直接將網址中的 trunk (表示為最新版本) 換為 Fossil SCM 倉儲內容的對應版本號, 就可以直接顯示各舊版本的靜態網頁內容, 這一個功能至今連 https://pages.github.com/https://docs.gitlab.com/ee/user/project/pages/ 都還無法直接在網際介面中完成.

Fossil SCM open, add 與 commit

之前已經提過, 建立 Fossil SCM 倉儲的方法:

fossil init cd2021.fossil

而這個指令若直接在 /home/user/repository/ 目錄中執行, 則可以建立 cd2021.fossil 空倉儲.

這裡的規劃是將這些倉儲以 fossil open 指令, 在 /home/user/repository/wd 目錄中設法展開內容, 而且以倉儲的名稱作為展開後的目錄, 並將展開內容置入.

例如:

/home/user/repository/cd2021.fossil 可以透過:

在 /home/user/repository/wd/cd2021/ 目錄中執行 fossil open ./../../cd2021.fossil 而將內容展開.

而 /home/user/repository/lab.fossil 則在 /home/user/repository/wd/lab 目錄中展開內容.

若從 Github 以:

git clone --recurse-submodules https://github.com/mdecourse/cd2021.git

將 cd2021 倉儲內容取下, 而且放入 /home/user/repository/wd/cd2021/ 目錄中.

使用者就可以在 /home/user/repository/wd/cd2021/ 目錄中執行:

fossil add .

fossil commit -m "add cd2021 git repository content"

Fossil SCM 會將 /home/user/repository/wd/cd2021/ 已經改版的內容壓進 /home/user/repository/cd2021.fossil 倉儲中, 並透過 Fossil SCM http 將靜態網頁以 project documentation 功能伺服到 https://fossil.kmol.info/cd2021/doc/trunk/index.html.

而根據網站內容, 必須將 https://fonts.googleapis.com 放入 settings -> default-csp 設定欄位中, Fossil SCM doc 網站才會允許 default-csp 設定的網站進行跨網站擷取所需的資料.

採取相同的操作步驟, 就可以將 https://mde.tw/lab 網站資料同步至 http://fossil.kmol.info/lab/doc/trunk/index.html

No comments:

Post a Comment