- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我知道这已经被问过很多次了,但我相信我的情况有所不同。
我正在尝试向我们的 SVN 存储库添加一个 pre-revprop-change Hook ,以允许对日志消息进行更改。
在我添加 pre-revprop-change
文件之前,我遇到了这个错误:
$ svn propset -r 557 --revprop svn:log "New message!" https://myserver/repos/myrepo
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'log':
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
没问题,我想。我会添加它:
$ cd /var/www/svn/myrepo/hooks
$ # Create the simplest hook possible
$ echo '#!/bin/sh' > pre-revprop-change
$ echo 'exit 0' >> pre-revprop-change
$ # Check that it looks correct
$ cat pre-revprop-change
#!/bin/sh
exit 0
$ # Looks good, now make it executable
$ chmod a+x pre-revprop-change
$ # Check the permissions
$ ls -al pre-revprop-change
-rwxr-xr-x 1 apache apache 17 2012-05-24 12:05 pre-revprop-change
$ # Run it, to make sure it runs, and check the error code
$ ./pre-revprop-change
$ echo $?
0
因此,根据我在 SO 上阅读的所有其他内容,这应该是我需要让它工作的全部内容。但是,当我再次尝试编辑日志消息时,仍然出现错误(这次不同):
$ svn propset -r 557 --revprop svn:log "New message!" https://myserver/repos/myrepo
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'log':
Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.
有几点需要注意:
1) 存储库托管在 SELinux 服务器 (Fedora core 10) 上。关于这些权限,也许我需要做些什么?以下是钩子(Hook)的 SE 权限:
$ ls -alZ pre-revprop-change
-rwxr-xr-x apache apache unconfined_u:object_r:httpd_sys_content_rw_t:s0 pre-revprop-change
2) 正在通过 WebDAV 访问存储库(注意存储库名称中的 https://
)。是否需要在 WebDAV 端进行设置以允许 pre-revprop-change 更改?
最佳答案
经过几个小时的尝试,我找到了答案。而且,由于它似乎不存在于 Internet 上的其他任何地方,我将在此处发布...
问题是由 SELinux 引起的(这并不奇怪)。似乎 apache (/usr/sbin/httpd
) 没有必要的权限来运行具有上述 SE 权限的 hook 脚本。为了让它执行,需要更改 SELinux 权限
$ chcon -t httpd_exec_t pre-revprop-change
(我首先尝试将其更改为 httpd_sys_script_exec_t
,但这不足以让脚本执行。但是使用 httpd_exec_t
类型它起作用了。)
最后一个问题:这样做安全吗?
关于linux - SVN Hook pre-revprop-change 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10736505/
无法通过浏览器访问 Bitnami Redmine Subversion(出现一条消息)。 Bitnami Redmine 安装并运行完美:版本 BitNami Redmine Stack 1.3.0
我正在尝试使用 svnsync 复制已使用的存储库(我这样做是为了确保只要其机器正在工作就可以最佳地使用我的存储库),但它似乎不起作用。 我有两台机器(我更改了名称,但没有更改其他信息) 初始:带有
我已经束手无策了。我已经有这个问题两天了,我想出的答案没有效果。我在网上搜索了可能的解决方案并做了一些,但仍然没有效果。我看到了一些答案,但它们是在 Linux 中,如果我要在 Windows 中执行
我不知道这个钩子(Hook)是开箱即用的还是我的只是搞砸了,我只需要替换它,但是当我去尝试编辑提交的日志评论时,我收到以下错误消息: DAV request failed; it’s possibly
您好,我正在尝试使用另一个服务器/计算机存储库镜像我的存储库 我在两台不同的服务器上有两台不同的机器(窗口)。在一台机器上我已经有一个 SVN 存储库(源存储库),并且我想将此存储库镜像到另一台机器上
我知道这已经被问过很多次了,但我相信我的情况有所不同。 我正在尝试向我们的 SVN 存储库添加一个 pre-revprop-change Hook ,以允许对日志消息进行更改。 在我添加 pre-re
这里是 TortoiseSVN 的新手。我需要为我对颠覆所做的一些提交更改日志消息。我只想进行更改,然后让一切恢复到以前的状态,这意味着您在提交后无法更改任何内容。 根据这篇文章 ( What is
首先,感谢您花时间阅读本文并可能发表评论。 总结 在文件上设置自定义 SVN 属性并提交后,我无法使用设置了各种选项的“svn log”命令在提交后显示该属性。我已经关注了这个example从 SVN
我想在存储库浏览器中编辑日志注释,但收到一条错误消息,指出存储库不存在 pre-revprop-change Hook 。除了有一个可怕的名字之外,什么是 pre-revprop-change Hoo
我正在 Windows 机器上尝试 pre-revprop-change 钩子(Hook)脚本,但发现了一个棘手的问题。 我将我的问题提炼为以下场景: 我有 C:\csvn\data\reposito
我是一名优秀的程序员,十分优秀!