美文网首页iOS DeveloperiOS进阶指南程序员
[svn]出现folder_is_already_under_v

[svn]出现folder_is_already_under_v

作者: 蒲公英少年 | 来源:发表于2016-04-11 11:09 被阅读2371次

    今天在提交项目时添加一个文件夹(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
    

    方法三:

    见上描述,本人觉得此方法是比较笨的方法,若有童鞋对命令行比较熟悉,可以采用以上高大上的方式,若像我一样对命令行了解不多,可以采用此方法,毕竟比较实用,哈哈!

    相关文章

      网友评论

        本文标题:[svn]出现folder_is_already_under_v

        本文链接:https://www.haomeiwen.com/subject/olkilttx.html