有的时候,我们开发的一些项目的某个模块是相同的,例如用户管理等,为了节省不必要的开发资源,就会直接把之前开发好的项目的相关模块代码copy过来,但是往往会吃一个经验的坑:copy的文件还是关联着之前项目的svn地址(.svn文件是原罪),你如果就这样直接复制到你新开发的项目中,你之后的任何改动、删除等操作都会直接影响到你之前的项目(知道后果有多大了吧???如果之前的项目没有备份,或者负责这个功能模块的开发人员离职,那么公司将花费时间、人力等资源重新开发这一块,还耽误了客户的交付,想想就知道损失的代价很大咯~当然,这种情况下,我建议你赶紧收拾东西跑路吧~^_^哈哈)
好了,既然知道原罪是文件中的.svn文件在作祟,那就直接干掉它就好了!!!!
不过,如果复制的文件很大,里面有很多子目录文件,那一个一个的删,效率就太低了吧~不急,有一个简单粗暴的解决方案:
- 随便在什么目录下新建一个.txt文本,文件名随便(不过还是建议你命名为:取消SVN关联,一目了然,方便以后查找),将文本文件打开,将下面的文字复制到文本文件中:(一定要注意换行)
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVN] @="取消SVN关联" [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVNcommand] @="cmd.exe /c "TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r "%1" %%f IN (.svn) DO RD /s /q "%%f" ""
如下图所示:
注意换行位置要与我的文件相同。
- 生成注册文件:修改文件的扩展名为.reg,如下图所示:
双击运行该文件,在弹出的警告窗口中选择“是”按钮。该注册表脚本文件便会注进本机的注册表中。
- 删除svn信息
找到你需要取消svn关联的文件夹,单击”右键”,在弹出的菜单上找到”取消SVN关联”单击,脚本程序执行完之后,我们会惊喜发现项目的svn信息已经被删除了。是不是很简单??!!
操作如下图所示: