
Существует ли опция командной строки для автоматического принятия SSL-сертификата на постоянной основе с помощью командной строки SVN, избегая при этом запроса?
решение1
Это зависит от вашей версии SVN. Последние (1.6+) имеют обычный --non-interactive
(который вы хотите использовать, чтобы избежать подсказок), а также , --trust-server-cert
который может делать то, что вы хотите.
решение2
Использование --trust-server-cert
не будет постоянно принимать сертификат SSL. Вы можете постоянно принимать сертификат SSL через командную строку, используяПеренаправление вводаи не использовать --non-interactive
.
Вот пример для Unix/Linux:
svn list [TARGET] << EOF
p
EOF
ПРИМЕЧАНИЕ:Буква «p» выше означает (p)permanently.
решение3
Мое решение использует expect. Это небезопасно, но будет работать, когда другие решения не будут.
#!/usr/bin/expect -f
set svn_username [lindex $argv 0]
set svn_password [lindex $argv 1]
set svn_url [lindex $argv 2]
spawn svn --username=${svn_username} --password=${svn_password} list ${svn_url}
expect "(R)eject, accept (t)emporarily or accept (p)ermanently? "
send -- "p\r"
expect "Store password unencrypted (yes/no)? "
send "no\r"
expect -re "root@.*:\/#"
решение4
Вы должны иметь возможность загрузить сертификат и затем поместить его в соответствующий каталог. Или вы можете загрузить сертификат CA и затем установить опцию конфигурациифайлы-авторитетов-sslдоверять этому CA.
СмотритеУправление SSL-сертификатамираздел в книге.