используйте svnant без имени пользователя и пароля - PullRequest
3 голосов
/ 19 мая 2009

Я проверил код с помощью командной строки SVN. У меня есть скрипт сборки Ant, который я хочу запустить и который сделает коммит, когда он будет завершен.

Я бы хотел использовать svnant, например

<svn svnkit="false" javahl="false" failonerror="true">
    <commit dir="${dir}" message="${message}"/>
</svn>

но он не работает и выдает эту ошибку

[svn] <Commit> started ...
[svn] svn: Commit failed (details follow):
[svn] svn: OPTIONS of 'http://svn.local/path/to/my/proj': authorization failed (http://svn.local)
[svn] <Commit> failed !

Однако, если я делаю exec напрямую, как это

<exec executable="svn">
    <arg line="commit ${dir} -m '${message}'"/>
</exec>

это будет работать нормально. Странно, что использование svnkit="false" и javahl="false" должно заставить svnant использовать командную строку svn.

Так что здесь происходит? Мне не нужно указывать имя пользователя / пароль в вызове svnant, так как svn командной строки явно не нуждается (он был кэширован).

1 Ответ

1 голос
/ 19 мая 2009

Простое, надежное решение состоит в том, чтобы сохранить желаемое имя пользователя и пароль svn в файле build.properties в вашем домашнем каталоге, установить разрешения, чтобы другие пользователи не могли его прочитать, и загрузить их в свой скрипт ant.

Я полагался на кэширование аутентификации в сценариях сборки, и это раздражает, потому что рано или поздно аутентификация не будет кэширована, или неправильная аутентификация будет кэширована, и вы будете тратить время, пытаясь понять, что не так. Или вы можете решить запустить ant в другой среде, например, на сервере сборки, что затрудняет загрузку кеша аутентификации svn. Лучше загружать вашу аутентификационную информацию из файла и программного муравья, чтобы дать четкое сообщение, когда этот файл отсутствует.

Вы также можете попробовать использовать клиент командной строки svnkit для кеширования вашей аутентификации и проверки работоспособности при использовании через ant.

В этой теме говорится о тех же проблемах: http://www.nabble.com/svnant-and-authentication-td17865407.html

...