Git svn clone - passpass pass дает "Неизвестный параметр: пароль"
Я хочу клонировать репозиторий svn, используя git, с именем пользователя и паролем, указанными в командной строке.
Я могу написать:
svn checkout --username user --password pass svn://server/repo
Но я не могу использовать --password
с git svn clone
:
git svn clone --username user --password pass svn://server/repo
Unknown option: password
Как я могу указать пароль git svn clone
в командной строке?
Альтернативно, существует ли какой-то --svn-options
переключатель в git -svn?
П.-S. Обратите внимание, что мне нужно указать его в командной строке, потому что на этом сервере есть несколько репозиториев с разными user/pass, а svn глупо предполагает, что все репозитории используют одно и то же имя пользователя/пароль, поэтому половину времени я получаю svn: Authorization failed
, без запроса пароля, даже если я использую --username
(иногда он запрашивает пароль, но он недостаточно прочен, чтобы использоваться в script).
Ответы
Ответ 1
git svn
использует команды SVN напрямую и, следовательно, внутренний пароль SVN.
Запустите команду:
svn checkout --username user --password pass svn://server/repo
и пусть SVN запоминает ваш пароль.
Если это не сработает, удалите сохраненные аутентификации SVN:
$HOME/.subversion/auth/svn.simple/*
Затем git svn clone
предложит ввести пароль.
Ответ 2
Просто укажите имя пользователя с --username
, и вам будет предложено ввести пароль.
Подробнее см. git svn --help
или man git svn
.