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」によって提供されない出力を待機しています。最初の行だけを読み取ります。それだけです。残りの出力を取得するにはどうすればよいですか?
ありがとうございました。