2

Pythonスクリプトから「git svn dcommit」コマンドを実行し、手動で指定する必要があるパスワードを処理しようとしています。このコマンドの標準出力は次のとおりです。

Committing to http://svn/trunk ...
Authentication realm: <http://svn:80> Active Directory credentials for users. Specific name and password for remote
Password for 'username':

この時点で、パスワードを指定する必要があります。さて、標準出力から読み取る必要があるのは 3 行です。

proc = subprocess.Popen(' git svn dcommit --username="username" ', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
out = proc.stdout.readline()
print ":"+out
out = proc.stdout.readline()
print ":"+out
out = proc.stdout.readline()
print ":"+out
proc.stdin.write('password\n')

しかし、私は得る

:Committing to http://svn/trunk ...
Authentication realm: <http://svn:80> Active Directory credentials for users. Specific name and password for remote
Password for 'username':

この後、スクリプトは「git svn dcommit」によって提供されない出力を待機しています。最初の行だけを読み取ります。それだけです。残りの出力を取得するにはどうすればよいですか?

ありがとうございました。

4

0 に答える 0