我最近将信息提交给了一个文件。只有几行高度机密的代码。我需要从subversion存储库COMPLETELY中删除此信息。如果不恢复和丢失更改,我该怎么做?它只在一个文件中?那么,是否可以删除对该文件的所有引用,然后重新提交正确的引用?
答案 0 :(得分:1)
我认为你必须
答案 1 :(得分:1)
SVN提供了一个名为svndumpfilter
的命令,允许您转储存储库并从中排除路径。然后,将该转储文件加载到新的存储库中,该文件将消失。
svnadmin dump /path/to/repos > dump.file
svndumpfilter exclude path/to/remove < dump.file > newdump.file
svnadmin load /path/to/newrepos < newdump.file
答案 2 :(得分:0)
唯一的解决方案是在服务器端过滤您的存储库。你应该使用这样的命令:
svnadmin create /path/to/newrepos
svnadmin dump /path/to/repos --incremental | svndumpfilter excdlude path/to/remove | svnadmin load /path/to/newrepos
答案 3 :(得分:0)
你能等到Subversion 1.8出来吗?那是当高度要求的删除命令被实现的时候(当然,除非他们决定将它移到Subversion 1.9或2.0)。
没有。正确?
您唯一能做的就是取消您的存储库,执行svnadmin dump
,过滤它以使用svndumpfilter
删除更改,然后使用svnadmin load
重新加载您的存储库。这可以在一个管道中完成,但根据您的存储库大小,这可能意味着停机几个小时。
我已经好几次了。这没什么好玩的,特别是当你必须在凌晨2点这样做时,因为当开发人员忙于使用它时你无法取下你的存储库。