[英]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.