尝试使用code_swarm,但我在osx上使用perforce有一些python脚本问题

时间:2010-03-31 18:31:01

标签: python macos perforce code-swarm

我遇到问题:

link-mbp:codeswarm-0.1 benb$ python convert_logs/convert_logs.py -perforce-path
Traceback (most recent call last):
File “convert_logs/convert_logs.py”, line 408, in
main()
File “convert_logs/convert_logs.py”, line 350, in main
files = run_marshal(’p4 -G describe -s “‘ + changelist['change'] + ‘”‘)
KeyError: ‘change’
link-mbp:codeswarm-0.1 benb$

我正在尝试使用此链接http://blog.perforce.com/blog/?p=780&cpage=1#comment-965中的code_swarm来可视化我的代码库更改。

如果我运行p4更改一切都显示正确,但此python脚本中的代码似乎没有正确处理...

如果我在更改列表编号上运行p4 describe,它会正确报告

想法?

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题。我不是python的专家我使用第350行的print语句调试脚本,如下所示:

for changelist in changelists:
    print changelist # <-- here
    files = run_marshal('p4 -G describe -s "' + changelist['change'] + '"')

这揭示了我的问题 - 我使用了像p4='p4 -C utf8'之类的别名将charset传递给perforce。因此,当我从命令行运行它时,别名被处理,describe命令就像一个魅力,但是当从python调用时,别名没有被处理。我只是通过在python脚本中的两个位置用'p4'替换'p4 -C utf8'来破解脚本。

您的问题可能相同或不同,但希望这可以帮助您快速调试它!