[英]Multiple git checkouts from a single repo with hardlinks?
有誰知道一種基於硬鏈接獲取大量“只讀” git存儲庫的方法? 換句話說,我希望約500MB存儲庫中的后續工作目錄僅是硬鏈接,因此僅幾個KB。
除此之外,對我以下的精神錯亂的任何反饋都表示贊賞。
好的,現在背景:
我正在構建一個質量保證工具,希望能夠在其中發揮作用:
1f381de1.somesite.com
9e010d42.somesite.com
...etc
由於這些項目包含由apache托管的動態文件(例如php
),因此我無法通過git show
類的管道來傳遞所有輸出,或者我很樂意(如果有人知道這樣做的可能方法,我會喜歡聽到它)。
我不想為每個我想打的版本做一個git clone
或git-new-workdir
,因為我將在倉庫中復制所有實時文件。 因為我不想不斷地垃圾收集該項目,所以一次可能會有一百個版本或更多的“活動”,並且我不想將一個約500MB的項目復制100次。
因此,理想情況下,應存在一些工具,該工具可讓我基於硬鏈接獲得多個只讀簽出。 如果沒有,我目前的想法是:
.pack
文件 git catfile -p
解壓縮樹的提交日志 最終結果是,我擁有.git/objects
使用的所有文件的未壓縮版本,而新簽出中的每個文件都是指向該目錄中某個文件的硬鏈接。
考慮到這一點,我遇到了我所聽說過的FUSE,但從未真正使用過或煩惱過將其包裹在真正的頭上。 它允許我做我認為不可能的事情-將git show
命令代理到操作系統級別的文件請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.