Redmine: 版本库Git配置出现404错误

来源:互联网 发布:定时开关机软件哪个好 编辑:程序博客网 时间:2024/05/29 16:10

运行环境是CentOS6.3+Apache2+Phusion passenger+Redmine2.4.2+Ruby1.9.3+Git1.7.1

Redmine在页面上的提示信息是:

The entry or revision was not found in the repository.

版本库中不存在该条目和(或)其修订版本。


这个错误提示很粗略,也具有误导性,实际上错误原因可能有:

1. git路径不正确,redmine会寻找/usr/bin/git来执行,如果git可执行命令不在那个目录下面,那么需要做个软链接,或者把git path添加到系统运行路径环境变量中


2. 权限不正确,redmine是以apache用户(具体用户名看apache的配置,比如我的是www)来运行的,通过查看config/enviroment.rb文件属性来确认:

[root@techbrood.com log]# ll ../config/environment.rb
-rw-rw-r-- 1 www www 592 Apr 11 12:31 ../config/environment.rb

那么需要把www用户添加到git group中:

vi /etc/group

添加这一行:git:x:1638:www

把git repos的路径用户修改为www:www:

chown -R www:www /opt/git/repos/


3. 如果上述1和2的问题都没有,那么很可能是本身的git库不正确。

切换redmine进入development模式,查看development.log日志,可以看到在点击项目版本库标签时,redmine发出的git命令信息:

git --git-dir '/opt/git/repos/ufcms.git/' log --no-color --rawgit --git-dir '/opt/git/repos/ufcms.git/' ls-tree -l 'HEAD:'

手动在命令行下执行,如果提示:fatal: Not a git repository: '/opt/git/repos/ufcms.git/'

可以确认是git库路径不正确,比如你可能是从github上克隆下来的git库,

git clone --bare git://github.com/iefreer/ufcms.git

那么上述命令会在本地生成一个git库,不过路径不是 /opt/git/repos/ufcms.git而是/opt/git/repos/ufcms/.git,

需要在Redmine项目版本库配置中把git路径修改正确。

另外在开发模式下还可以通过查看log/development.scm.stderr.log来获取准确的错误信息。


参考问题链接:

http://www.redmine.org/boards/2/topics/19606


by iefreer

0 0
原创粉丝点击