【发布时间】:2016-06-23 08:58:59
【问题描述】:
我正在尝试使用 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>
【问题讨论】:
-
能否通过电子邮件与我联系(请参阅我的个人资料)?另一个问题:你使用什么协议(http / svn+ssh / ...)?
-
@DmitryPavlenko,您的电子邮件未显示在您的个人资料中。我通常使用 Tortoise,第一次使用时,它会要求我输入一次用户名和密码(Windows 用户名),然后再没有。所以我认为这是对 repo 的用户名/密码访问。有没有办法查询回购信息并检查什么样的身份验证?也许还有什么版本?
-
我还发现命令行 svn 的版本是 1.7.5。这很重要吗?我怎样才能让 svnkit 表现得像 svn client 1.7.x
-
我的电子邮件是 pavlenko@tmatesoft.com
标签: svn authorization svnkit