1

私は svn の precommit フックを作成しています。「svnlook log」コマンドを実行し、その出力をキャプチャして解析する必要があります。

私はこの時点で立ち往生しています:

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 自体が " " と不平を言うことになりますが、Too many arguments givenこれは正しくありません。

そこで、「svnlook log」を次のようにまとめる必要があると考えました。

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

しかし、これは svn look をまったく実行しません。

"OSError: [Errno 2] No such file or directory".

これは次のように意味があります。

'/appl/atlad00/CollabNetSubversionEdge-5.0.1/csvn/bin/svnlook log' does not exists.

ここで何が欠けているのか分かりますか? 私がPythonを使ってから非常に長い時間が経過したため、非常に基本的なものが欠けている可能性があることに言及しておく必要があります...

S.

4

1 に答える 1

1

問題が見つかりました:

-t オプションのスペースです。

'-t '

そのはず

 '-t'
于 2015-09-04T10:40:38.453 に答える