SVN就像每个用于许多不同目的的成熟工具一样复杂。 SharpSVN尝试以编程方式公开所有SVN功能,因此它也很复杂。我只是试图在一台机器上使用给定的用户名/密码授权一个工具,其中TortioseSVN在同一个SVN服务器(领域)上用于其他目的。
var client = new SvnClient();
client.Authentication.ForceCredentials("userName", "password");
不幸的是,这将TortioseSVN缓存的现有凭证替换为该工具使用的凭证。是否有一种简单的方法可以避免覆盖身份验证缓存并忽略其中的内容?
答案 0 :(得分:2)
虽然通过订阅UserNameHandlers
属性的UserNamePasswordHandlers
和client.Authentication
事件可以获得无限可能,但最简单的解决方案似乎是:
var client = new SvnClient();
client.Authentication.Clear();
client.Authentication.DefaultCredentials = new NetworkCredential("userName", "password");