svnX坑爹使用记

Mac上需要使用SVN,百度了一下说是Mac自带了SVN功能,看了不少资料,都是如何配置SVN服务端的,不是我想要的只使用SVN客户端的功能。于是,用上了svnX。

百度上svnX有图文教程,但都忽视了一个细节点,导致了我的坑爹使用记——那就是Output窗口。

默认情况下Repository和Working Copy里的Output窗口都是隐藏的,如果不打开,一个正在进行中的SVN操作很难看出它的进度,而svnX又不会禁用SVN的相关功能,这就会导致各种坑爹的问题。比如我这里遇到的:在Repository中Checkout未完成的情况下进行了Working Copy中的SVN Add操作,结果就是Commit的时候总提示我本地目录被Lock住了需要Cleanup,但无论怎么Cleanup后再Commit还是一样。

通常遇到这种情况我的第一想法是重新Checkout一份,但如果你还想Checkout到原目录怎么办?这是个坑爹的问题!因为SVN会在每个目录下生成一个.svn的隐藏文件夹保存SVN的相关信息,要实现我的想法不得不全删掉它,这是个体力活,也极度考验耐心。

想到Mac是类Linux系统,于是百度Linux命令,又被自己坑爹了,先是有如下命令:
find . -name .svn -type d -exec rm -fr {} ;
它的坑爹之处在于它让我以为只要cd到原目录下即可成功执行(没注意到find后面的点),没有提到find命令还要path,对于我这Linux菜鸟来说害苦我了,会被系统报错:
find: illegal option — n
后面又找到一份资料,里面有path,但是却没有”;”中的””又折腾了好久:
find: -exec: no terminating “;” or “+”
原来find的-exec参数要以”;”结束,而且是要转义的,最终被我摸索对了:

find /Users/***/Documents/HelloWorld -name .svn -type d -exec rm -rf {} ;

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据