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