如何使用svnkit删除svn中文件的所有版本

时间:2014-10-13 05:07:47

标签: java svn svnkit

我需要删除svn中文件的所有版本/ histroy。我知道如何使用以下代码

删除svn中的文件
            ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager((String) userKey,
                    (String) pwd);
            repository.setAuthenticationManager(authManager);
            ourClientManager = SVNClientManager.newInstance(null,
                    repository.getAuthenticationManager());
            updateClient = ourClientManager.getUpdateClient();
            System.out.println("SVN Authendication updateClient status - " + updateClient);
            System.out.println("Start to delete an existing directory at '" + url + "'...");
            try {
                long deletedRevision = ourClientManager.getCommitClient().doDelete(new SVNURL[]{importToURL},
                        "New directory deletion").getNewRevision();
            } catch (SVNException svne) {
                System.err.println("Error on delete directory from SVN" + svne);
            }

使用此代码可以删除文件,但svn大小没有变化。为此,我还需要删除其版本/历史记录以减小尺寸。使用java的其他任何想法

1 个答案:

答案 0 :(得分:0)

您不能从任何Subversion客户端执行此操作,因为Subversion修订版本无论如何都是不可变的。

要完成从Subversion存储库中删除项目的所有痕迹,您需要对存储库具有管理访问权限,并且必须完成转储,过滤器和放大器。重新加载存储库(或执行过滤掉项目的同步,然后切换原始副本和新副本)。

请参阅the Subversion FAQ

相关问题