我已经按照以下步骤设置了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/