SVN是我认为目前最方便的版本管理体系。我最早一次接触版本管理是2004年,当时学校BBS的代码要求用CVS管理;第二次亲密接触是在2006年,当时公司的代码使用Eclipse+CVS管理;而第一次使用SVN则是在2007年的一个封闭开发项目。
我十分喜欢SVN的方便,无论是在Linux下的命令行操作还是在Windows下的资源管理器插件,都十分简易。而且code.google.com也支持SVN来供我们发布、维护开源项目(例如我的WordPress主题TES)然而,久而久之,SVN文件夹下会有许多.svn的“meta数据”。这些数据久而久之会带来不少麻烦。尤其是基于资源管理器交互的Windows系统。
今天看了Jon Galloway的一个注册表脚本,十分方便,分享如下:
建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVN]
@="Delete SVN Folders"[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文件。成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下下面所有的.svn文件了:
这操作太危险了。如果你的项目还有没commit的文件,结果一不小心.svn被删了,那就完了!
一般都有备份的吧…
1、删除.svn文件夹的目的就是要脱离svn控制。
2、即便没有commit,再次commit也很容易啊,完全谈不上“危险”:)
其实你要删除.svn的话,还不如导出的说…
从版本库导出干净的副本,这样就摆脱了SVN的文件夹控制了~~~不包括.svn
export的方法很久前就有人提过了:)
我说的是对现有的.svn文件进行“抛弃版本控制”的操作。举个简单的例子:
你周末从svn更新了一些code,但周一的时候网络突然坏掉了,这时候你没有办法export,但有需要有一份干净的code,就可以用这个方法了。
export不需要网络
恩,有.svn的时候的确是可以export的,下面有一个gif
不过export依赖于SVN的客户端环境,因此Jon Galloway的方法也并非完全没有用处:)
确实,如果没有客户端支持的话,删除.svn的方法确实比较直接。
不过,难道这个方法真的比F3“.svn”更简单么…………
?????????????export是可以从本地版本库中取出的
还是用export保险:)
不错的办法,
我一般都是直接搜索“.svn”,然后全部删除
for i in `find . | grep -e “.svn”`; do
rm -rf $i;
done;
Linux is really easy:)
Hello, I have been watching your blog for quite a long time. You are a good man.
I sent you an invitation on Linkedin, would you please take it on?
这个指令的正确形式恐怕是下面这样的,Linux管道用多了总有一些坏毛病,呵呵,见谅见谅。
find . -name “.svn” –exec rm -rf {}
我总觉得,find是linux里面最不符合常规逻辑的几个命令之一
这个方法果然不错……多谢!
不过也必须借助于客户端环境。如果是别人发给你的含有.svn文件夹的svn代码,但你又没客户端环境,就只能用我文章里的方法了:)
照做了一下,结果目录下所有文件都被删除了,呜呜,
幸亏只是找了个不用的目录做测试,太危险了,还是自己手工删除比较保险。
怎么可能?你确认操作的过程和我的文章是一样的?
这个很赞!SVN和CVS都在用,这个方法改一下应该也可以用在删除CVS文件夹上,不过CVS文件夹前面没有点,容易误伤。
回头试试,单位的电脑装的SVN用不上了
查找 .svn 文件夹删除就行了, 用 Everything 搜更是爽得没话说 😀
Everything? 没听说过,介绍下?:)
http://www.appinn.com/everything-search-engine/
非常非常好的方法,谢谢了~
very good! thanks!
ding!!!!!!!!!!!!!!!!!
很好用,谢谢
我个人认为是目前最简单的方法了,而且方便。
window下吧?资源管理器Ctrl F,在查找出的结果列表里操作就行了。也不是太麻烦~~
这方法很有效,谢谢博主
http://www.xinour.com 信商食品网,生活必须品,什么都有,没事逛一下。
http://www.tltesoft.com 太航软件网 只有想不到,没有做不到。成品软件,订制开发,多种合作方式供你选择。期待你的光临!
不错不错
SVN和CVS都在用,这个方法改一下应该也可以用在删除CVS文件夹上,不过CVS文件夹前面没有点,容易误伤
如此好文,不顶不行http://www.tltesoft.com成都ERP系统 http://www.xinour.com信商食品网
find–delete
非常感谢!
非常感谢!
我只知道好文就要顶
-棋牌评测网(http://www.dw03.com)