从 Subversion 存储库中删除特定文件?
Posted
技术标签:
【中文标题】从 Subversion 存储库中删除特定文件?【英文标题】:Remove a specific file from a Subversion repository? 【发布时间】:2010-11-11 08:02:27 【问题描述】:我有一个 SVN 存储库,其中包含 Bin 目录中的内容(.exe
、.dll
、.pdb
)。我想清理存储库以删除这些文件并防止它们回来。
-
如何清理存储库(无需逐个文件、逐个目录)?
如何防止添加这些文件? (在 SVNTortoise 中,我向
*.exe *.suo *.pdb /Debug/*
添加了一个全局忽略模式,但它似乎无法正常工作。
【问题讨论】:
这不属于 *** 吗? 【参考方案1】:您需要删除并忽略这些文件。没有直接的方法可以做到这一点,因为忽略属性不会递归地应用到目录路径中。
确保您已安装 tortoisesvn 签出需要修改的存储库路径到本地文件夹 使用查找工具在本地 svn 副本中查找文件,例如 *.dll 我推荐在total commander中查找,按alt-f7,指定搜索条件,搜索 搜索完成后,按“feed to listbox”使用 ctrl-a 选择所有文件 右键单击(默认情况下,在总指挥官中,您需要长按右键单击上下文菜单) 选择选项 tortoisesvn -> 删除并忽略列表 -> 按扩展名删除并忽略 xx 项
tortoisesvn mass ignore http://img60.imageshack.us/img60/5207/20090716104211.png
目录也可以这样做现在你已经实现了:
在每个选定的路径中,您忽略的文件扩展名将被忽略 以后不要提交这些文件,忽略它们【讨论】:
【参考方案2】:由于最初的问题实际上是如何清理存储库(并且这样做可能有正当理由:合法或存储库大小爆炸),我想补充一点,可以做到这一点的唯一方法是通过将存储库转储到文件(svn dump),使用“svndumpfilter”过滤内容并将其重新加载到新存储库中:
svndumpfilter explained in the svn book svn obliterate explained on rob gonda's blog【讨论】:
【参考方案3】:那些文件不应该在存储库中。只输入构建可执行文件所需的内容(源代码 + 生成文件)。
我建议您将源代码和可执行文件放在不同的目录中,并且只签入源目录中的那些。
对于删除部分,不要打扰。只需创建一个没有这些文件的新修订版。
【讨论】:
以上是关于从 Subversion 存储库中删除特定文件?的主要内容,如果未能解决你的问题,请参考以下文章
列出具有特定属性和值的 subversion 存储库中的所有路径