Пытаюсь использовать code_swarm, но у меня возникли некоторые проблемы со сценариями Python с производительностью на OSX

У меня проблемы с запуском этого:

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$

Я пытаюсь использовать code_swarm по этой ссылке http://blog.perforce.com/blog/?p=780&cpage=1 для визуализации изменений в моей кодовой базе.

если я запускаю p4 изменения, все показывает правильно, но код в этом скрипте Python, кажется, не обрабатывается правильно...

если я запускаю p4 опишите номер списка изменений, он правильно сообщит

идеи?

1 ответ

У меня была точно такая же проблема. Не будучи экспертом по python, я отладил скрипт, используя оператор print в строке 350, например так:

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

Это выявило мою проблему - я использовал псевдоним как p4='p4 -C utf8' передать кодировку для исполнения. Поэтому, когда я запускаю его из командной строки, псевдоним был обработан и describe команда работала как талисман, но при вызове из python псевдоним не был обработан. Я просто взломал скрипт, заменив 'p4' с 'p4 -C utf8' в двух местах в скрипте Python.

Ваша проблема может быть такой же или другой, но, надеюсь, это поможет вам быстро ее отладить!

Другие вопросы по тегам