【问题标题】:SVN Post-commit - workingcopy lockedSVN 提交后 - 工作副本锁定
【发布时间】:2015-09-12 08:40:39
【问题描述】:

解释我的问题和服务器设置:

我的仓库在 /svn/repos/testrepo

我的结帐,也可以通过 apache http 访问,位于 /var/www/testsite

提交后:

#!/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 commit的时候,会出现这个错误:

错误:提交后挂钩失败(退出代码 1)并输出:
错误:svn:E155004:运行 'svn cleanup' 以删除锁(输入 'svn help cleanup' 了解详细信息)
错误:svn:E155004:工作副本“/var/www/testsite”被锁定
错误:svn:E200031:sqlite[S8]:尝试写入只读数据库
错误:svn:E200031:其他错误:
错误:svn: E200031: sqlite[S8]: 尝试写入只读数据库

当我通过 ssh 到 testsite 并进行 svn 更新时,一切都很好。清理也不会显示任何错误。

有人知道问题出在哪里吗?

【问题讨论】:

    标签: svn post-commit locked svn-update


    【解决方案1】:
    • 这是因为在基于 linux 的操作系统中 /var/www/ 下的目录默认没有写入权限。
    • 给/var/www/下的目录写权限 示例:如果目录是 /var/www/ 下的 xyz(目录结构是 /var/www/xyz)。首先将目录更改为 /var/www/($ cd /var/www)。然后给xyz目录权限(sudo chmod -R 777 xyz/)
    • 尝试更新svn。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      相关资源
      最近更新 更多