今天在提交項目時添加一個文件夾(folderName),結果svn出現了:Folder(文件夾)is already under version control這樣的警告信息,并且怎么也提交不上。剛遇到此問題的時候感覺很奇怪,自己并沒有在svn上添加這個目錄(folderName),這里卻提醒此目錄(folderName)已經有version。而且svn上該目錄狀態也是?狀態。經過查閱資料后才明白,原因是:我所添加的這個文件夾是從另一個項目中拷貝過來的,而且這個項目也是在svn上保存的,這樣就導致我所提交的文件或目錄是其他svn的東西,也就是說下面有.svn的目錄,要解決此問題,刪除要提交目錄下的所有.svn文件即可,記住是該目錄下所有.svn文件,注意遞歸子目錄。
這里給出三種解決方式:其中前兩種方法是遞歸刪除該目錄以及子目錄下下所有.svn文件;第三種是本人用的比較笨的方法:也就是新建一個文件夾,然后將我們所需要的文件夾下的文件選中拷貝一份(記住不要拷貝目標文件夾,只拷貝里面需要的文件即可),最后將拷貝的文件放到新建的文件夾下,然后導入工程,避免有舊的.svn文件存在。
方法一:
打開終端,cd到你新增加的那個目錄,然后用下面的命令
find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;
說明: -exec之后的rm -rf是命令以及參數,{}就是find的命令找到的結果集,\; 也是需要輸入的哦
方法二:
同樣是在終端里,cd到你新增加的那個目錄,然后用下面的命令
find . -type d -name “.svn”|xargs rm -rf
方法三:
見上描述,本人覺得此方法是比較笨的方法,若有童鞋對命令行比較熟悉,可以采用以上高大上的方式,若像我一樣對命令行了解不多,可以采用此方法,畢竟比較實用,哈哈!