Update repositories in reclaim

This commit is contained in:
René Pfeuffer
2020-04-13 14:39:02 +02:00
parent 5b034f8d02
commit 7e89a0c1c0
4 changed files with 51 additions and 4 deletions

View File

@@ -24,8 +24,12 @@
package sonia.scm.repository.spi;
import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.wc.SVNClientManager;
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.wc.SVNWCClient;
import org.tmatesoft.svn.core.wc2.SvnCheckout;
import org.tmatesoft.svn.core.wc2.SvnOperationFactory;
import org.tmatesoft.svn.core.wc2.SvnTarget;
@@ -78,7 +82,14 @@ public class SimpleSvnWorkDirFactory extends SimpleWorkdirFactory<File, File, Sv
}
@Override
protected ParentAndClone<File, File> reclaimRepository(SvnContext context, File target, String initialBranch) throws IOException {
protected ParentAndClone<File, File> reclaimRepository(SvnContext context, File target, String initialBranch) throws ReclaimFailedException {
SVNClientManager clientManager = SVNClientManager.newInstance();
try {
clientManager.getWCClient().doCleanup(target);
clientManager.getUpdateClient().doUpdate(target, SVNRevision.HEAD, SVNDepth.fromRecurse(true), false, false);
} catch (SVNException e) {
throw new ReclaimFailedException(e);
}
return new ParentAndClone<>(context.getDirectory(), target, target);
}