从Subversion存储库中删除特定文件?

时间:2009-07-16 02:39:55

标签: svn version-control windows-vista tortoisesvn

我有一个SVN存储库,其中包含来自Bin目录(.exe.dll.pdb)的内容。我想清理存储库以删除这些文件并阻止它们返回。

  1. 如何清理存储库(无需逐个文件地逐目录)?
  2. 如何阻止添加这些文件? (在SVNTortoise中,我已将全局忽略模式添加到*.exe *.suo *.pdb /Debug/*,但它似乎没有正常工作。

3 个答案:

答案 0 :(得分:6)

您需要删除并忽略这些文件。没有直接的方法,因为ignore属性不会递归地沿目录路径应用。

  • 确保您已安装tortoisesvn
  • 签出您需要修改为本地文件夹的存储库路径
  • 使用查找工具在本地svn副本
  • 中查找文件,例如* .dll
  • 我建议在total commander中找到,按alt-f7,指定搜索条件,搜索
  • 搜索完成后,按“Feed to listbox”

total commander search

  • 使用ctrl-a
  • 选择所有文件
  • 右键单击(默认情况下,总指挥官需要右键单击上下文菜单)
  • 选择选项tortoisesvn - >删除和忽略列表 - >通过扩展名删除和忽略xx项目

tortoisesvn mass ignore http://img60.imageshack.us/img60/5207/20090716104211.png

  • 目录
  • 也是如此

现在你已经实现了:

  • 在每个选定的路径中,您忽略的文件扩展名将被忽略
  • 将来,不要提交这些文件,忽略它们

答案 1 :(得分:2)

由于最初的问题实际上是如何清理存储库(并且可能有正当理由这样做:合法或存储库大小爆炸),我想补充一点,这样做的唯一方法是通过将存储库转储到文件(svn dump),使用'svndumpfilter'过滤内容并将其重新加载到新的存储库中:

答案 2 :(得分:0)

这些文件不应该在存储库中。只需添加构建可执行文件所需的内容(源代码+ makefile)。

我建议您将源和可执行文件放在不同的目录中,并且只检查源目录中的那些。

对于删除部分,请不要打扰。只需创建一个没有这些文件的新版本。