【问题标题】:SVNKit authentication always failsSVNKit 身份验证总是失败
【发布时间】: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


【解决方案1】:

如果您的服务器正在使用 chroot 作为 repos,并且如果 chroot 在 CHROOT/etc/ 中没有 /etc/passwd 的副本,您将收到此错误。我花了一些时间才弄清楚这一点,因为这很奇怪,因为 SSH 连接有效,结帐有效,但提交无效。

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 2019-03-14
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多