我在svn中有一个目录,里面有54000个文件。我重新安排了目录,所以我现在每个文件夹下有1000个文件,并将其提交给svn。 但是我无法从svn中删除54k文件。随着删除它花了我很多年,但现在当我尝试提交我刚刚得到: svn:网络连接意外关闭
有没有其他方法可以轻松快速地删除这些文件?
答案 0 :(得分:1)
在Linux下,使用与XArgs命令关联的find命令。
http://www.computerhope.com/unix/ufind.htm
http://www.computerhope.com/unix/xargs.htm
类似的东西:
find . -name *.foo -print | xargs rm
会做到这一点。
查看我提供的2个链接以获取更多信息,-name允许您使用普通的通配符,例如*& ? ,-regex允许您使用完整的正则表达式字符串进行更多控制。
进行测试时,您需要确保使用以下内容:
find . -name *.foo -print | xargs echo
因此,在知道文件列表的内容之前,不要意外删除。
在Windows下,它会更加复杂。
过去我的经验是,您必须继续搜索,删除几百,然后使用资源管理器窗口右上角的搜索框再次搜索。
我一直想把自己写成一个小工具来处理这个场景现在已经有一段时间了,但是还没有完成它。
答案 1 :(得分:0)
我假设原始文件夹结构也在svn中。我要做的是回滚到原始结构并创建一个脚本,为每个文件/目录发出[svn move][1]
。这样做也会保留文件的提交历史记录,是重新组织源树的首选方法。
您还可以进入文件夹结构并以较小的块提交。你失去了一个可以回滚的原子提交的好处。大声思考,你可以通过分支来模拟这个,重新组织分支(使用svn move!)然后将分支合并回主干 - 注意你必须使用svn move对分支中的文件/文件夹或svn不会能够帮助你合并。