我正在使用VisualSVN Server来管理源文件夹。它安装在Windows XP计算机上,可以访问网络磁盘。
在名为W:
的网络磁盘上,我以这种方式对文件夹进行了结帐:
svn checkout https://server:443/svn/Project W:\Project --username=user --password=pass
我现在可以使用以下命令更新此文件夹:
svn update W:\Project
问题是:
我想添加一个运行此命令的post-commit钩子:
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服务器的另一个磁盘上并进行备份。
答案 0 :(得分:4)
W:驱动器可能未在运行脚本的环境中映射。所有挂钩脚本都在没有设置环境变量的情况下运行。您需要明确指定文件共享的服务器名称或在脚本中映射网络驱动器。
答案 1 :(得分:1)
好的,实际上可以对提交后的操作进行更新。问题是我尝试将我的存储库保存在网络文件夹中。 VisualSVN服务的默认帐户是NTAUTHORITY\NetworkService
,无法访问我的磁盘。所以我将用户更改为网络帐户,现在工作正常。
答案 2 :(得分:0)
您是否使用了要使用提交后挂钩脚本更新的相同工作副本?
你不能svn update
使用post-commit钩子处理同一个工作副本。它必须是单独的工作副本。您可以考虑使用svn export
命令而不是svn update
。