我正在尝试使用svnkit检出我的代码并且它总是返回E170001(403禁止),尽管我可以成功使用命令行svn和tortoise来访问我的仓库。
我使用svnkit的原因是调试使用Jenkins签出时发生的同样问题。
我使用Windows PC运行以下客户端代码:
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.auth.BasicAuthenticationManager;
import org.tmatesoft.svn.core.wc.SVNWCUtil;
import org.tmatesoft.svn.core.wc2.SvnCheckout;
import org.tmatesoft.svn.core.wc2.SvnOperationFactory;
import org.tmatesoft.svn.core.wc2.SvnTarget;
import java.io.File;
public class Application {
public static void main(String[] args) {
final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
BasicAuthenticationManager auth = BasicAuthenticationManager.newInstance(windows_username, password);
svnOperationFactory.setAuthenticationManager(auth);
try {
final SvnCheckout checkout = svnOperationFactory.createCheckout();
checkout.setSource(SvnTarget.fromURL(SVNURL.parseURIEncoded(pathToTrunk)));
checkout.setSingleTarget(SvnTarget.fromFile(new File(targetPathOnDisk)));
checkout.run();
System.out.println("Success");
} catch (SVNException e) {
e.printStackTrace();
} finally {
svnOperationFactory.dispose();
}
}
}
这是maven POM文件中的依赖项:
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.8.11</version>
</dependency>
答案 0 :(得分:0)
如果您的服务器正在使用chroot进行回购,并且如果chroot在CHROOT / etc /中没有/ etc / passwd的副本,您将收到此错误。我花了一些时间来弄清楚这一点,因为它很奇怪,因为SSH连接有效,结账工作,但提交不起作用。