提交后钩子,svn:E020024:错误解决案例

提交后钩子,svn:E020024:错误解决案例,svn,visualsvn-server,svn-hooks,post-commit-hook,Svn,Visualsvn Server,Svn Hooks,Post Commit Hook,我正在使用VisualSVN服务器管理源文件夹。它安装在Windows XP计算机上,可以访问网络磁盘 在这个名为W:的网络磁盘上,我通过以下方式签出了一个文件夹: svn checkout https://server:443/svn/Project W:\Project --username=user --password=pass 我现在可以使用以下命令更新此文件夹: svn update W:\Project svn update W:\Project 问题是: 我想添加一个运行以

我正在使用VisualSVN服务器管理源文件夹。它安装在Windows XP计算机上,可以访问网络磁盘

在这个名为
W:
的网络磁盘上,我通过以下方式签出了一个文件夹:

svn checkout https://server:443/svn/Project W:\Project --username=user --password=pass
我现在可以使用以下命令更新此文件夹:

svn update W:\Project
svn update W:\Project
问题是:

我想添加一个运行以下命令的提交后钩子:

svn update W:\Project
svn update W:\Project
但当我提交时,会出现以下错误:

At revision: 123
post-commit hook failed (exit code 1) with output:
svn: E020024: Error resolving case of 'W:\Project'
有什么想法吗?我不知道这是否是一种好的做法,我的目标是在svn服务器之外的另一个磁盘上保留项目的副本并进行备份

您使用的工作副本是否与要使用提交后钩子脚本更新的工作副本相同


您不能使用post-commit钩子
svn更新同一个工作副本。它必须是单独的工作副本。您可以考虑使用命令而不是<代码> SvN Update  .< /P> < P> W:驱动器可能不在脚本运行的环境中映射。所有钩子脚本运行时都没有设置环境变量。您需要在脚本中明确指定文件共享的服务器名称或映射网络驱动器。

确定,因此实际上可以对提交后操作进行更新。问题是我试图将存储库保存在网络文件夹中。VisualSVN服务的默认帐户是
nAuthority\NetworkService
,无法访问我的磁盘。因此,我将用户更改为网络帐户,现在它可以正常工作。

您是否尝试使用提交后挂钩提交到要
svn update
的同一个工作副本?完整的钩子代码是什么?您可能需要研究使用服务器。运行,或者(例如)可以让您不必将钩子添加到SVN中就可以完成此操作(以及更多操作)。关于无法在提交后钩子上完成的更新,您是对的。但我尝试过使用export,得到了完全相同的信息。似乎无法访问网络文件夹。。。我编辑我的问题未映射的驱动器号不是因为空环境。这是因为服务不会像在交互式用户登录中那样映射驱动器。映射的驱动器是按用户映射的,内置帐户(如“网络服务”)无法访问。