从tortoise svn仓库中删除所有文件类型

4

我已经超出了svn托管限制,因此需要从中删除所有二进制文件和图像。我该如何发出命令来删除并忽略所有*.jpg文件?

2个回答

4

仅仅删除文件并不能回收空间。虽然它被标记为已删除,但是旧版本仍然存储在代码库中。

完全删除文件的唯一方法是转储代码库 (svnadmin dump),过滤掉不需要的文件 (使用 svndumpfilter),然后从修改后的转储创建一个新的代码库。

我建议您与您的托管服务商联系,因为我认为您没有必要的访问权限来完成这个操作。


使用 "svnadmin dump" 和 "svnadmin load" 是非常危险的。如果你使用它来删除选定的修订版本,并且这些修订版本包含有关其他非二进制文件的信息,那么你将会丢失信息,并且有可能无法正确创建新的 SVN 仓库。 - Oded

0

我遇到了类似的问题,开始使用svn仓库之前不知道应该放什么,现在通过吃亏学习到了,忽略bin/obj目录和不包括那些几乎不会改变的大文件,例如图片等。

今天我发现了这篇博客文章,它展示了如何获取svn仓库的转储,即使你没有访问存储库所在机器的权限。

我一直在使用TortoiseSVN,但为了从命令行执行以下操作,我安装了SlikSVN

步骤如下:

  1. svnadmin create c:\localrepos
  2. 在c:\localrepos\hooks中创建一个名为“pre-revprop-change.cmd”的文件
  3. svnsync init c:\localrepos https:\my.hosted.svn\repos
  4. svnsync sync c:\localrepos
  5. svnadmin dump c:\localrepos > localrepos.dmp
在我的情况下,这已经足够让我将托管的存储库的本地副本带到我的计算机上,并保留所有修订历史,以便在删除它并创建新存储库之前,我现在可以重新考虑我需要托管的存储库包含什么。如果您有几个人在您的项目上工作,那么我想这会更加棘手。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接