如何產生 git-tree
這個問題切中核心 🎯。在 vcpkg registry 裡,git-tree 不是隨便寫的字串,而是 Git 物件樹的 SHA,代表某個 port 目錄在 Git repo 中的快照。
git-treeM:/GitHub/LevenShe/vcpkg)必須是用 git init 建立的,並且有 commit。ports/
ports/pathinfo/,裡面有 vcpkg.json 或 CONTROL。cd M:\GitHub\LevenShe\vcpkg
git add ports/pathinfo
git commit -m "Add pathinfo port"
git rev-parse HEAD:ports/pathinfo
這會輸出一個 SHA(例如 58bca5dd798b3ffe786ddc267639be884fca275b),就是 git-tree。git ls-tree HEAD ports/pathinfo
會顯示該目錄的 tree SHA。versions/p-/pathinfo.json
{
"versions": [
{
"git-tree": "58bca5dd798b3ffe786ddc267639be884fca275b",
"version-string": "1.0.0",
"port-version": 0
}
]
}
git-tree ≠ commit SHA:它是目錄的 tree SHA,不是整個 repo 的 commit SHA。ports/pathinfo,重新 commit 後就要更新 git-tree。port-version +1。👉 總結:
手動複製到 ports/ 後,要用 Git commit,然後用 git rev-parse HEAD:ports/套件名 取得 tree SHA,填到 versions/*.json 的 git-tree 欄位。
| File8 | File | Last Modified |
|---|---|---|
| vcpkg-local-how-to | vcpkg-local-how-to | 1:22 AM - December 07, 2025 |
| vcpkg_checker | vcpkg_checker | 1:22 AM - December 07, 2025 |
| vcpkg 指令總覽表 | vcpkg 指令總覽表 | 1:22 AM - December 07, 2025 |
| 模組化開發-用 CMake + VCpkg 封裝並重用 C++ 函式庫 | 模組化開發-用 CMake + VCpkg 封裝並重用 C++ 函式庫 | 8:20 PM - December 06, 2025 |
| 模組化開發-VCpkg工具 | 模組化開發-VCpkg工具 | 8:20 PM - December 06, 2025 |
| 查詢目前vcpkg registry所在路徑 | 查詢目前vcpkg registry所在路徑 | 8:20 PM - December 06, 2025 |
| 本地 `src` vs. `vcpkg_from_git` | 本地 src vs. vcpkg_from_git | 8:20 PM - December 06, 2025 |
| 使用 vcpkg x-add-version 搭配 Git 或目錄結構工具,自動建立與維護本地 vcpkg registry | 使用 vcpkg x-add-version 搭配 Git 或目錄結構工具,自動建立與維護本地 vcpkg registry | 8:20 PM - December 06, 2025 |