svn аутентификация из задания cron (osx 10.7) - PullRequest
3 голосов
/ 13 февраля 2012

Я установил запись crontab для извлечения кода из репозитория svn - я делал это раньше, поэтому не уверен, что я пропустил в этот раз. Это на OSX 10.7 (Lion).

Если репозиторий открыт, он работает без проблем.

Если репозиторий является закрытым (то есть требуется пользователь / пароль), аутентификация завершается неудачно, даже если мои учетные данные кэшируются, поскольку обычно я могу сделать это в командной строке без запроса пользователя / пароля.

Письмо, сгенерированное cron, говорит мне, что я использую ту же оболочку, являюсь тем же пользователем, домашняя папка верна и т. Д. Но svn не может экспортировать файл; В сообщении об ошибках я вижу, что cron пишет мне, что он запрашивает пароль, не получает его, затем запрашивает пользователя, не получает его и, наконец, завершается с сообщением:

авторизация не удалась: не удалось пройти проверку подлинности на сервере: отклонено базовое задание (Я пропустил конкретные URL)

Я безуспешно попробовал опции --non-interactive и --config-dir, хотя раньше мне никогда не приходилось это делать.

Идеи

спасибо, Томас Блом в Остине, Техас

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

svn help co

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG
0 голосов
/ 22 февраля 2012

Попробуй это ... хотя я признаю, что это очень глупо, но у меня это сработало.

Я использую фиктивную учетную запись для своей работы с SVN / Cron, и недавно я столкнулся с тем же, что и ты,OSX Lion.

Я могу запустить команду в командной строке, но не через cron.Я не могу это объяснить, потому что я тороплюсь туда, где я на самом деле, поэтому я оставляю вам исследование.Вот что я сделал, чтобы исправить мою проблему:

  1. Удаленный вход в свою учетную запись с использованием SSH
  2. Рекурсивное удаление ~ / Library / Keychains
  3. Пока все еще удаленно вошел в системуin, выполните команду svn (у меня есть настройки в моих ~ / .subversion / servers для сохранения паролей и т. д. и т. д. только для справки)

Это сработало для меня.По какой-то причине цепочка для ключей Mac вмешивалась во встроенный метод sub_version save_my_authentication, поскольку я мог видеть запись для моей команды LDAP / SVN в цепочках ключей.Но цепочки для ключей, кажется, не используют его через Cron, или ... cron не использует цепочки для ключей :) (вероятно, верно, что последняя часть)

Очевидно, если это ваша личная учетная запись, вы, вероятно, не 'Я не хочу удалять каталог Keychain!Вы можете попробовать удалить запись SVN только внутри цепочки для ключей, а затем выполнить команду SVN, когда удаленно используете SSH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...