2010-06-14 3 views
1

내 Bazaar 플러그인 작성에 문제가 있습니다.Bazaar 플러그인 작성 - 등록 명령?

나는 몇 가지 다른 일을 시도했습니다, 이것은 내 파일의 현재 상태 :

''' Testing Bzr plugins '''              
from bzrlib.commands import Command, register_command       

version_info = (0,0,1, 'dev')             

class cmd_test_foo(Command):              
    ''' Testing is painful. '''             

    def run(self):                
     print "hi"             

register_command(cmd_test_foo) 

여기 내 명령을 실행하려고 할 때 발생하는 내용은 다음과 같습니다 그래서

$bzr test-foo 
hi 
bzr: ERROR: unknown command "test-foo" 

을 그건 정말 이상 해요. 분명히 내 명령을 실행하고 있지만 알 수 없다고 하던데요?

플러그인 예제에는 좋은 소스가 있습니까? 나는 here으로 제안 된 것처럼 builtins.py을 보았지만 아무 도움이 없었습니다.

답변

2

웹에서이 오류에 대한 실제 정보를 찾지 못해서 게시해야하고 내 자신의 질문에 답변해야하기로 결정했습니다.

Bazaar가 플러그인을 가져 오면 보통 Python에서 가져 오는 것과 같이 .pyc 파일을 만듭니다. 한 가지 디렉토리에서 편집하고 복사하는 것을 잊은 다음 심볼릭 링크를 만드는 것과 같은 마술이 발생하면 수정 사항을 가져 오지 않습니다. register_command(cmd_test_foo) 호출은 bazaar가 명령을 등록하는 데 필요합니다. 여기서 cmd_test_foo는 명령 이름입니다. 당신이 호출 할 때 BZR 도움이 그것은 또한과 같이 표시됩니다 명령 :

$ bzr help commands 
... (snip commands) 
test-foo   Testing is painful. [testCmd] 
... (snip other commands) 

당신은 또한 당신이 설치 한 다른 플러그인을 볼 수 있습니다 마지막 하나 물론 또한

$ bzr plugins 
testCmd 0.0.1.dev 
    Testing Bzr plugins 

합니다.