我已经按照以下步骤设置了Subversion服务器:http://www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html

服务器正在我的本地主机上运行

构型

这是我的配置文件:

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz


验证码:

[/]
* = w


密码:

[users]
plorio = pass
test = pass


使用SharpSvn驱动程序的代码

var svn = new SvnClient();
svnClient.Authentication.DefaultCredentials = new NetworkCredential("test",
                                                                    "pass",
                                                                     new Uri("svn://localhost/main").AbsoluteUri);

var localFilename = "C:\\testFile.txt";
var commitArgs = new SvnCommitArgs();
commitArgs.LogMessage = "test";
svn.Commit(localFilename, commitArgs); // <<< error:


错误

svn.Commit(localFilename,commitArgs);给出以下错误:

提交失败(详细信息如下):


innerException:{"Authentication error from server: Username not found"}
SvnErrorCode:SharpSvn.SvnErrorCode.SVN_ERR_RA_NOT_AUTHORIZED
SubversionErrorCode:170001
堆栈跟踪 :

在f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ svnclientargs.cpp:第76行的SharpSvn.SvnClientArgs.HandleResult(SvnClientContext客户端,SvnException错误)
   在f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ svnclientargs.cpp:line 42中的SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client,svn_error_t * error)
   在SharpSvn.SvnClient.Commit(ICollection`1路径,SvnCommitArgs args,SvnCommitResult&结果)中的f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ commands \ commit.cpp:line 136
   在f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ commands \ commit.cpp:line 74中的SharpSvn.SvnClient.Commit(字符串路径,SvnCommitArgs args)
   在Zephyr.OnDemand.WorkbookManagementService.WorkbookManagementOperations.UpdateWorkbook(String client,ManagedWorkbookDetails details,Stream content)在C:\ src \ zod \ ci-tests \ SVN \ WorkbookManagementService \ WorkbookManagementOperations.cs:line 165
   在C:\ src \ zod \ ci-tests \ SVN \ Program.cs:第24行的SVN.Program.Main(String [] args)
   在System.AppDomain._nExecuteAssembly(程序集程序集,String []参数)
   在System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args)中
   在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   在System.Threading.ThreadHelper.ThreadStart_Context(对象状态)
   在System.Threading.ExecutionContext.Run(ExecutionContext执行上下文,ContextCallback回调,对象状态)
   在System.Threading.ThreadHelper.ThreadStart()


我非常有信心,如果有人有任何想法,该错误将存在于subversion配置或svnClient.Authentication.DefaultCredentials中。提前致谢。

最佳答案

问题
我正在从另一个Subversion工作目录复制我的工作目录。这是有问题的,因为我也是通过.svn文件夹复制的。这导致程序尝试提交到.svn文件夹中定义的服务器,从而导致身份验证错误。


从工作目录中删除.svn文件夹,然后重新添加和提交文件

关于c# - 使用Sharpsvn驱动程序进行Subversion身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9012940/

10-11 20:34