SVN Post-commit - 工作副本已锁定
SVN Post-commit - workingcopy locked
解释我的问题和服务器设置:
我的仓库在 /svn/repos/testrepo
我的结帐,也可以通过 apache http 访问 /var/www/testsite
post-提交:
#!/bin/sh
/svn/autoupdate/autoupdate
autoupdate.c,使用 make autoupdate 编译:
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
execl("/usr/bin/svn", "svn", "update","/var/www/testsite/",(const char *) NULL);
return(EXIT_FAILURE);
}
在执行 post 提交时,出现此错误:
错误:post-提交挂钩失败(退出代码 1),输出:
错误:svn: E155004: 运行 'svn cleanup' 删除锁(键入 'svn help cleanup' 了解详情)
错误:svn: E155004: 工作副本“/var/www/testsite”已锁定
错误:svn: E200031: sqlite[S8]: 尝试写入只读数据库
错误:svn:E200031:其他错误:
错误:svn: E200031: sqlite[S8]: 尝试写入只读数据库
当我通过 ssh 访问测试站点并执行 svn 更新时,一切正常。清理也没有显示任何错误。
有人知道问题出在哪里吗?
- 发生这种情况是因为在 linux based os 中 /var/www/ 下的目录默认没有写入权限。
- 授予对/var/www/下目录的写权限
示例:如果目录是 /var/www/ 下的 xyz(目录结构是 /var/www/xyz)。首先将目录更改为/var/www/($ cd /var/www)。然后给xyz目录权限(sudo chmod -R 777 xyz/)
- 尝试更新svn。
解释我的问题和服务器设置:
我的仓库在 /svn/repos/testrepo
我的结帐,也可以通过 apache http 访问 /var/www/testsite
post-提交:
#!/bin/sh
/svn/autoupdate/autoupdate
autoupdate.c,使用 make autoupdate 编译:
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
execl("/usr/bin/svn", "svn", "update","/var/www/testsite/",(const char *) NULL);
return(EXIT_FAILURE);
}
在执行 post 提交时,出现此错误:
错误:post-提交挂钩失败(退出代码 1),输出:
错误:svn: E155004: 运行 'svn cleanup' 删除锁(键入 'svn help cleanup' 了解详情)
错误:svn: E155004: 工作副本“/var/www/testsite”已锁定
错误:svn: E200031: sqlite[S8]: 尝试写入只读数据库
错误:svn:E200031:其他错误:
错误:svn: E200031: sqlite[S8]: 尝试写入只读数据库
当我通过 ssh 访问测试站点并执行 svn 更新时,一切正常。清理也没有显示任何错误。
有人知道问题出在哪里吗?
- 发生这种情况是因为在 linux based os 中 /var/www/ 下的目录默认没有写入权限。
- 授予对/var/www/下目录的写权限 示例:如果目录是 /var/www/ 下的 xyz(目录结构是 /var/www/xyz)。首先将目录更改为/var/www/($ cd /var/www)。然后给xyz目录权限(sudo chmod -R 777 xyz/)
- 尝试更新svn。