gitweb和gitolite无法添加新的代码库

4

我首先安装了gitolite,添加了一些用户和一些仓库,一切都很顺利。然后我添加了gitweb,并且可以通过apache实例看到仓库(只有gitweb,没有gitdaemon)。现在的问题是我无法再添加新的仓库了。每次我推送gitolite-admin配置文件的更改时,日志中总会出现2行。

remote: FATAL: git config 'gitweb.description' not allowed
remote: check GIT_CONFIG_KEYS in the rc file

尽管出现了2个烦人的提示,但配置文件确实每次都会更改。我尝试停止apache实例,但仍然不行 :-(。
我Google了一下,没有找到任何类似的讨论来解决这个问题。有人能帮忙吗?非常感谢!

дҪ зҡ„~/.gitolite.rcж–Ү件дёӯGIT_CONFIG_KEYSзҡ„еҖјжҳҜеӨҡе°‘пјҹ - VonC
@VonC 它是一个空字符串 ' '。 - Sheng
你能把它设置为 '.*'(请参见我的下面的答案),然后再尝试推送吗? - VonC
1个回答

6

Gitolite g2-g3迁移页面提到:

现在转到您的旧克隆,并推送它:

$ cd old.ga
$ gitolite push -f
    ...usual git progress output deleted...
remote: FATAL: git config foo.bar not allowed
remote: check GIT_CONFIG_KEYS in the rc file
To /home/git/repositories/gitolite-admin.git
 + 7eb8163...1474770 master -> master (forced update)

啊哈!我忘记在新的rc文件中设置GIT_CONFIG_KEYS(即GL_GITCONFIG_KEYS的新名称),因此请修复它:

$ vim ~/.gitolite.rc
(edit and set it to `.*` for now)

确保你的.gitolite.rc文件包含以下内容:

GIT_CONFIG_KEYS             =>  '.*',

虽然这不是问题的直接根本原因,但在GitLab问题中也提到了它。


我有一个问题,就是当我向gitolite-admin配置中添加新的仓库时,我的projects.list文件不会自动更新。
对于gitweb,我必须手动编辑该文件。你知道可能是什么原因吗?
与外部工具交互”页面提到:
可读取gitweb的repos列表被写入一个文件中,这个文件的名称由rc文件变量GITWEB_PROJECTS_LIST给出。
如果没有指定或为空,则此变量的默认值为$HOME/projects.list
确保在您的.gitolite.rc文件中有以下内容:
GITWEB_PROJECTS_LIST        => '/path/to/projects.list',

那就是解决方案!!谢谢!我还有另一个问题,就是当我在gitolite-admin conf中添加新的存储库时,我的projects.list文件不会自动更新。对于gitweb,我必须手动编辑该文件。你知道可能是什么原因吗?再次感谢! - Sheng
@Sheng 请确保在您的 .gitolite.rc 文件中添加以下行 GITWEB_PROJECTS_LIST => '/path/to/projects.list', - VonC
对于第二个问题,我尝试了你的建议,但是没有起作用。我认为你可能误解了我的第二个问题...这与gitweb无关。我的问题是,当我通过编辑gitolite-admin conf添加新的repo时,新的repo没有自动添加到“projects.list”文件中。很抱歉提出这么多问题——我接手了我的同事的工作,他有一些紧急情况要处理。 - Sheng
@Sheng 我明白(与gitweb无关),但还是请尝试添加这行代码,以防在将新提交推送到gitolite-admin时对projects.list文件产生影响。 - VonC
@Sheng 这是权限问题吗?如果你对那个文件执行 chmod 777 命令,它会更好运行吗?你在 gitolite 日志里面看到了什么吗? - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接