可是 git 還是不可以檢出單層目錄啊!!!
svn 這點比 git 先進,不知道這群開發 git 的怎麼想的。
完了,以後怎麼搞嘛。
kde 項目裡經常是到處打打補丁,現在可好,這樣的日子沒法過了。
有件事我來說說:
今 天看到 kio_nepomuk 元件裡有個 bug,輸出 xml 檔的時候沒有指定 UTF-8 編碼,結果在我機器上生成了一個亂碼的檔,於是就找到了那行代碼,很容易解決,只要加一句 setCodec 就可以了。趕緊從 svn 倉庫裡面檢出 kdebase/runtime/nepomuk/kioslaves/nepomuk 目錄,修改裡面的某個 cpp 檔,最後執行 svn commit,over。
完了,從今天開始,好日子沒有了,因為我再也不能檢出 kdebase/runtime/nepomuk/kioslaves/nepomuk 目錄了。不是說不可以檢出,而是說不可以單獨檢出,要檢出就得整個檢出 kde-runtime。據我所知,幾乎所有用 git 管理版本的都是這麼幹的,但接下來看看這些資料就知道了:
- 代碼: 選擇全部
$ git clone kde:kdelibs # 129 MiB
$ git clone kde:konsole # 4.55 MiB
$ git clone kde:kate # 11 MiB
$ git clone kde:kde-baseapps # 32 MiB
$ git clone kde:kde-workspace # 138 MiB
$ git clone kde:kde-runtime # 56 MiB
啊,kde- runtime 需要下載 56MB 的資料啊!真是不要活了,為了改一個 cpp 檔提交就得動輒下載個 56MB,瞧瞧那 kde-workspace,有 138MB 呢,plasma BUG 很多吧,全都要在 kde-workspace 裡面改的,每次改一個檔就要下 138MB,就算是全速下也得下一會兒呢。kde 專案一百多萬次提交可不是吹的。
有人必定會表示,這個下載只 要第一次下載完之後,以後就不需要再下載那麼多了,比如 git pull 什麼的。想法很好,但要和 kde 這個項目比起來可不一定了,每天不知道有多少次提交,幾十次?那麼十幾天之後呢?應該有上百次了。今天我 git clone 了那麼多東西,然後打個補丁提交一下,過了一個多月,我又發現了 BUG,想修改這地方,肯定得更新下,不然很可能衝突。好吧,我又要等待漫長的時間去下載更新的資料,看著它一點點壓縮,然後下載解壓,實際上還是很慢。 當初用 svn 的時候根本不用管那麼大的一個倉庫,只要管要管的就可以了。
git 1.7.0 版本開始,也許是那些瘋子終於意識到問題了,弄了個 sparse checkout 的新功能,表面上弄得和 svn 一樣,具有只管理一部分目錄的特性,實際上根本就是換湯不換藥的,第一次還是要把整個倉庫 clone 下來,然後在本地進行提取需要的目錄。所以,所以對於我這樣的來說,每一次都是第一次,還是要下整個倉庫...
以後怎麼辦呢,傳給下游讓別人去做這事好啦。
http://shuizhuyuanluo.blog.163.com/blog ... 010845143/