2016-02-26 57 views
1

我有多個存儲庫,我想從svn轉換爲git。 我嘗試編寫一個簡單的期望腳本來轉換一個回購。使用期望遷移多個存儲庫

#!/usr/bin/expect 

spawn svn2git svn://svn-server/repo --username $username --verbose 
expect {Password for '$username'} 
send "$password\r" 

他把密碼,但然後超時退出。

回答

0

Git在內部啓動SSH以連接到遠程存儲庫,並且SSH檢測從其他程序啓動的時間,並且不允許從腳本輸入密碼作爲安全功能。

您將需要一個專門的程序,如sshpass從腳本中輸入密碼到SSH中,或設置SSH密鑰。

+2

'expect'是這樣一個專業程序。 ssh認爲它與用戶交互。 –

0

我推測svn2git需要幾秒鐘才能完成。在您的send指令指令

set timeout -1 
expect eof 
相關問題