我按照以下步骤设置了我的subversion服务器:http://www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html
服务器在我的localhost上运行
配置
这是我的配置文件:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
AuthZ的:
[/]
* = w
passwd中:
[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);出现以下错误:
提交失败(详情如下):
{"Authentication error from server: Username not found"}
SharpSvn.SvnErrorCode.SVN_ERR_RA_NOT_AUTHORIZED
170001
StackTrace:
在SharpSvn.SvnClientArgs.HandleResult(SvnClientContext客户端,SvnException错误)中的f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ svnclientargs.cpp:第76行 在SharpSvn.SvnClientArgs.HandleResult(SvnClientContext客户端,svn_error_t *错误)的f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ svnclientargs.cpp:第42行 在SharpSvn.SvnClient.Commit(ICollection`1路径,SvnCommitArgs args,SvnCommitResult&amp; result)中的f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ commands \ commit.cpp:第136行 在SharpSvn.SvnClient.Commit(String path,SvnCommitArgs args)中的f:\ qqn \ sharpsvn-dist-1.6 \ src \ sharpsvn \ commands \ commit.cpp:第74行 在Zephyr.OnDemand.WorkbookManagementService.WorkbookManagementOperations.UpdateWorkbook(String client,ManagedWorkbookDetails details,Stream content)中的C:\ src \ zod \ ci-tests \ SVN \ WorkbookManagementService \ WorkbookManagementOperations.cs:第165行 在C:\ src \ zod \ ci-tests \ SVN \ Program.cs中的SVN.Program.Main(String [] args):第24行 在System.AppDomain._nExecuteAssembly(Assembly assembly,String [] args) 在System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args) 在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态) 在System.Threading.ThreadHelper.ThreadStart()
我相信Subversion配置或svnClient.Authentication.DefaultCredentials
中存在错误,如果有人有任何想法会有所帮助。提前谢谢。
答案 0 :(得分:1)
<强>问题强> 我正在从另一个Subversion工作目录复制我的工作目录。这是有问题的,因为我也复制了.svn文件夹。这导致程序尝试并提交到.svn文件夹中定义的服务器,这会导致身份验证错误。
<强>解决方案强> 从工作目录中删除.svn文件夹并重新添加和提交文件