我有多个存储库,我想从svn转换为git。 我尝试编写一个简单的期望脚本来转换一个repo。
#!/usr/bin/expect
spawn svn2git svn://svn-server/repo --username $username --verbose
expect {Password for '$username'}
send "$password\r"
他输入密码,然后超时退出。
答案 0 :(得分:0)
Git在内部启动SSH以连接到远程存储库,SSH检测何时从另一个程序启动,并且不允许从脚本输入密码作为安全功能。
您需要一个专门的程序,如sshpass
,可以通过脚本在SSH中输入密码,或者设置SSH密钥。
答案 1 :(得分:0)
我认为svn2git需要几秒钟才能完成。在send
命令
set timeout -1
expect eof