我刚刚升级了我的Trac系统,因此我们可以处理多个存储库.我开始收到一些浏览器错误并将其跟踪到GitPlugin(当我禁用它时,所有错误都会消失,当然我的版本控制跟踪也会这样做).
在每个页面上我得到:
'Warning: Error with navigation contributor "BrowserModule"'
Run Code Online (Sandbox Code Playgroud)
在时间线页面上我得到:
Trac detected an internal error:
TypeError: 'NoneType' object is unsubscriptable
Run Code Online (Sandbox Code Playgroud)
Log给出了这个'main'时间轴页面:
Internal Server Error: Traceback (most recent call last): File "/usr/local
/lib/python2.6/dist-packages/Trac-0.12-py2.6.egg/trac/web/main.py", line 513, in
_dispatch_request dispatcher.dispatch(req) File "/usr/local/lib/python2.6/dist-packages
/Trac-0.12-py2.6.egg/trac/web/main.py", line 235, in dispatch resp =
chosen_handler.process_request(req) File "/usr/local/lib/python2.6/dist-packages/Trac-
0.12-py2.6.egg/trac/timeline/web_ui.py", line 142, in process_request available_filters +=
event_provider.get_timeline_filters(req) or [] File "/usr/local/lib/python2.6/dist-packages
/Trac-0.12-py2.6.egg/trac/versioncontrol/web_ui/changeset.py", line 861, in
get_timeline_filters repositories = rm.get_real_repositories() File "/usr/local
/lib/python2.6/dist-packages/Trac-0.12-py2.6.egg/trac/versioncontrol/api.py", line 588, in
get_real_repositories repos = self.get_repository(reponame) File "/usr/local/lib/python2.6
/dist-packages/Trac-0.12-py2.6.egg/trac/versioncontrol/api.py", line 526, in
get_repository repos = connector.get_repository(rtype, rdir, repoinfo.copy()) File
"/usr/lib/python2.6/dist-packages/tracext/git/git_fs.py", line 159, in get_repository
shortrev_len=self._shortrev_len) File "/usr/lib/python2.6/dist-packages/tracext
/git/git_fs.py", line 177, in __init__ Repository.__init__(self, "git:"+path, None, log)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.12-py2.6.egg/trac/versioncontrol
/api.py", line 730, in __init__ self.reponame = params['name'] TypeError: 'NoneType'
object is unsubscriptable
Run Code Online (Sandbox Code Playgroud)
这对于"Chrome"的所有页面都是如此:
Error with navigation contributor BrowserModule: TypeError: 'NoneType' object is unsubscriptable
Run Code Online (Sandbox Code Playgroud)
我在升级此系统之前设置了一些测试环境,它们都使用多个存储库和git,但有两个主要区别:它们起始为0.12,而存储库不是裸存储库.
我的问题是:升级后我是否搞砸了什么并且需要从一个新环境开始,我是否需要将我的存储库切换到非裸机,或者我是否完全错过了某些东西并需要做其他事情?
好吧,所以我成功地完成了一项有效的工作.
进入服务器并创建一个新目录.
git克隆该新目录中的裸远程存储库.
进入旧的存储库并将post-receive钩子(在.git/hooks下)更改为:
#!/bin/sh
pushd /path/to/new/repo > /dev/null
unset $(git rev-parse --local-env-vars)
git pull -q
popd > /dev/null
Run Code Online (Sandbox Code Playgroud)
如果没有post-receive,只需创建一个具有该文件名的文件.
现在转到你的trac.ini并将任何存储库引用指向新的存储库目录和poof!有用.
注意:正在推送的人仍然推送到旧存储库.此脚本仅调用"新"存储库中的pull.
| 归档时间: |
|
| 查看次数: |
2674 次 |
| 最近记录: |