我有一個相當大的存儲庫(11 GB,900,000多個文件),並且在合理的時間內迭代時遇到問題。有些分析後,真正的瓶頸似乎是git的更新索引:如何優化git update-index?
$ time git update-index --replace $path > /dev/null
real 0m5.766s
user 0m1.984s
sys 0m0.391s
這使得天的不堪數得到的文件列表。有什麼方法可以加快更新索引操作?
對於它的價值,我在Windows 7上運行的cygwin
編輯:把更多的上下文的問題。
大型存儲庫來自SVN導入,並且包含許多不應該存在於存儲庫中的二進制文件。但是,我想保留提交歷史記錄和提交日誌。爲了做到這一點,我試圖用文件散列替換二進制文件的內容,這應該壓縮存儲庫並允許我保留歷史記錄。
這是一個已知的問題,git的大問題的確是它的速度。一個解決方案是拆分你的項目(因爲90萬個文件是很大的)我認爲它是一個重複的:http://stackoverflow.com/questions/3313908/git-is-really-slow-for-100-000-objects - 任何修復 – Vince
@Vince嗯,在大規模回購規模的速度。幾乎任何回購股票的任何一天,我仍然寧願發行'git branch'然後發行'svn copy'。 – Christopher
@Christopher是啊是的,我不是說這是一個showstopper。我試着用10,000個文件進行回購,它工作得很好。無論如何,如果它是一個問題,有子模塊的功能。在這種精確的情況下,900,000個文件,我相信並不是唯一一個讓Git感到困惑的人... – Vince