試用場
左邊是一個假的工作目錄,中間是終端機,右邊說明 mgit 做了哪些決定。所有東西都在這個分頁裡,不會碰到你電腦上的任何檔案。
工作目錄
沙箱終端機 — 一切都在這個分頁裡
這個終端機需要 JavaScript。頁面其餘部分(安裝指令、選項表、所有文件)不需要。
~/work $
Enter 執行Tab 補字↑ ↓ 上一個指令Ctrl+C 中斷Ctrl+L 清畫面
它做了什麼
跑一個 mgit 指令,這裡就會列出它走訪的每個目錄、每次 git 呼叫,以及結束代碼是怎麼算出來的。
這有多真?
- 參數解析、儲存庫搜尋、輸出格式與結束代碼是從 mgit 的 Rust 原始碼逐條移植的,並且有一組對照測試:同樣的工作目錄、同樣的指令,一邊跑真正編譯出來的執行檔、一邊跑這裡的程式,輸出必須逐字相同。
- git 本身是模擬的。沙箱知道
status、pull、fetch、log、branch、checkout這些指令在這些假儲存庫裡該回答什麼;遇到沒有模擬的 git 指令,它會直說,而不會編一段輸出給你看。 - 沙箱的路徑一律是 POSIX 風格;切換到 Windows 輸出目標時改變的是符號與顏色的判斷,不是路徑格式。