2012-06-15 38 views
1

我最近在windows上首次安装了Trac。设置了一切后我试图浏览源代码的Git仓库时,这个错误:找到一个文件在trac插件中修改(trac-git)

Trac detected an internal error: 
WindowsError: (5, 'Access is denied') 

它看起来并不像许多人都碰到过这样的作为该唯一的票款错误已没有太多反应,但有人建议我修改文件PyGIT.py。进一步寻找到我自己的异常,我觉得这一点:

return gen.next() 
    yield historian 

    if p: 
     p[0].stdout.close() 
     p[0].terminate() # <-- This line highlighted as the problem 
     p[0].wait() 

def last_change(self, sha, path, historian=None): 
    if historian is not None: 
     return historian(path) 

现在我不知道,但我看,这是是与Windows如何处理p[0].terminate()导致错误,并建议该异常被忽略改变它到这个:

try: 
    p[0].terminate() 
except WindowsError: 
    pass 

天气或不这会工作,我不知道。但我想知道的是 - 这是什么地方PyGIT.py文件?我必须走的路径是:

build/bdist.win32/egg/tracext/git/PyGIT.py 

我是否正确地认为这不是编译文件的一部分?我安装了运行代码的插件.egg

如果任何人都可以帮我一把,我想要做的就是看我能不能修改文件!

感谢

回答

1

如果您安装了插件作为.egg文件,那么你可能没有源代码。您下载.egg文件的网站也应该有一个存储库的URL。只需检查一份源代码的副本,进行建议的修改,然后使用python setup.py bdist-egg重建.egg。

+0

我确实认为这个鸡蛋已经编译好了,但那么错误页面怎么显示导致问题和行号的代码呢? –

+0

@ ing0-我不是所有人都熟悉egg格式的细节,但我相信它保留了关于原始代码的足够信息来显示类似的调试消息。不过,我不知道是否可以从预编译的egg文件中提取源代码。 – bta

+0

好的。尽管我的本地机器已经安装了py2.7,而且服务器运行了2.6版本,所以我已经成功构建了新的改变版本,所以我只是将其整理出来。尽管感谢您的帮助! –