2015-09-04 95 views
1

我正在寫svn的precommit鉤子,我必須運行「svnlook日誌」命令,捕獲並解析其輸出。python subprocess popen與參數

我被困在這一點上:

svnlookCmd = ['/appl/atlad00/CollabNetSubversionEdge-5.0.1/csvn/bin/svnlook', 'log', repoPath, '-t ', transID] 
sys.stderr.write('svnlookCom = ' + str(svnlookCmd) + '\n') 
svnlook = Popen(svnlookCmd, stdout=PIPE) 
commitMsg = svnlook.stdout.read() 
sys.stderr.write ("\n commit message is: : \n" + commitMsg + "\n") 

這將運行svnlook的,但抱怨svnlook的本身會抱怨說,「太多的參數給出」這是不正確的,如果你檢查svnlook的幫助

所以我想我不得不把「svnlook的日誌」這樣在一起:

['/appl/atlad00/CollabNetSubversionEdge-5.0.1/csvn/bin/svnlook log', repoPath, '-t ', transID] 

但這不會運行svn看都讓我「OSERROR:[錯誤2]沒有這樣的文件或目錄」。這是有意義的,因爲'/appl/atlad00/CollabNetSubversionEdge-5.0.1/csvn/bin/svnlook log'不存在。

任何想法,我在這裏失蹤?這是woth提的是,這是一個很長的時間,因爲我已經與Python,所以我可能會丟失一些非常基本的工作...

S.

回答

1

發現了問題:

它的空間中 - -t選項:

'-t ' 

應該

'-t'