簡體   English   中英

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

[英]How to delete all versions of a file in svn using svnkit

我需要刪除svn中文件的所有版本/歷史記錄。 我知道如何使用以下代碼刪除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的其他任何想法

您不能從任何Subversion客戶端執行此操作,因為Subversion修訂版出於所有意圖和目的都是不可變的。

要從Subversion存儲庫中刪除項目的所有痕跡,您需要對該存儲庫進行管理訪問,並且必須完成轉儲,過濾和重新加載存儲庫(或執行同步操作以過濾出該項目,然后切換原始項目和新副本)。

請參閱Subversion常見問題解答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM