http://www.letuknowit.com/archives/svn-checkout-single-file/
有時候需要在svn版本倉庫中某個比較上層的目錄中(比如根目錄)checkout某一個文件,例如下面的svn版本倉庫中,我們需要checkout名為readme.txt的文件,而其他的幾個文件夾中都有很多內容,如果我們直接checkout根目錄的所有內容,肯定是不合算的。
$ svn list file:///usr/local/svn/calc/ branches/ tags/ trunk/ readme.txt
好了,你肯定想到了,我直接checkout這個文件就是,那么就試試下面的指令吧
$ svn co file:///usr/local/svn/calc/readme.txt svn: URL 'file:///usr/local/svn/calc/readme.txt' refers to a file, not a directory
你將會得到一個“URL XXX refers to a file, not a directory”錯誤,這是因為checkout指令只能針對文件夾。
正確的做法應該是這樣
$ svn co --depth=empty file:///usr/local/svn/calc calc_new $ cd calc_new $ svn up readme.txt
其中,calc_new為checkout后的文件夾名,自己可以隨意指定,執行svn co命令后,會得到一個名為calc_new的空目錄,里面什么都沒有,而實現這一效果的就是參數中指定的depth=empty。
下一步就是進入剛剛checkout下來的calc_new目錄,執行update操作,想取哪個文件就checkout哪個文件就好了。
原創文章請注明轉載於知蟻博客,本文地址:http://www.letuknowit.com/archives/svn-checkout-single-file