2014-02-17 4 views
1

Я хотел проверить, когда есть фиксация определенного пути в svn. В VisualSVN -> Свойства -> Post-Commit крюк:Проверка VisualSVN не работает

"D:\Program Files\VisualSVN Server\bin\svn.exe" checkout https://***.****.***/svn/Mobile/Node/trunk C:\MyPath 

Тогда я пошел и сделал коммит, но я не вижу каких-либо извлечений произошло. Когда я выполняю скрипт post-commit вручную, он проверяет этот путь.

Я получаю ошибку как «- сертификат не выдается доверенным использовать отпечатки пальцев для проверки сертификата вручную информации сертификата:.!»

Как я могу решить это?

+0

Любое решение ??? –

+0

Я получаю сообщение об ошибке: «Сертификат не выдается доверенным органом. Используйте контрольный отпечаток для проверки сертификата вручную! Информация о сертификате: –

ответ

0

Общие шаги по устранению неполадок с крючками описаны на странице official Subversion FAQ: "Why aren't my repository hooks working?".

Конкретная проблема вы столкнулись является побочным эффектом этих фактов:

  1. Вы запускаете VisualSVN сервер с собственной подписью сертификат, который не является доверенным в вашей среде. Как правило, вы должны вручную принять такой сертификат на стороне клиента.

  2. Крючки выполняются под учетной записью, на которой выполняется служба сервера VisualSVN.

  3. Сервер VisualSVN работает по умолчанию по умолчанию Network Service account. Насколько я понимаю, ваш экземпляр VisualSVN Server работает под учетной записью Network Service, поэтому вам нужно войти в систему под службой сети, запустить svn.exe против репозитория и навсегда принять сертификат. Вы не можете войти в систему под учетной записью Network Service, поскольку обычно вы заходите в систему под своей учетной записью пользователя, но есть умный трюк, который может помочь.

Так есть 1 правильное решение этой и 2 обходные пути:

  • РЕШЕНИЕ: Run VisualSVN сервер с доверенным сертификатом, подписанным сервером. Вы можете получить его у органа сертификации (например, купить сертификат) или sign server's certificate with Active Directory Certificate Services installed in your organization.

  • WORKAROUND1: Configure VisualSVN Server to run under a custom dedicated user account, войдите в Windows под этой учетной записью, запустите svn.exe против репозитория и навсегда примите ненадежный сертификат.

  • WORKAROUND2: Держите VisualSVN сервер работает под Network Service и использовать psexec инструмент, чтобы принять сертификат под Network Service счета:

    Вы можете использовать Sysinternals's PsExec utility для запуска svn.exe под Network Service и принять сертификат вручную. Выполните следующую команду, чтобы запустить командную строку под Network Service учетной записи (настроить командную строку, если запустить службу под другой учетной записью):

    psexec -u "nt authority\network service" cmd.exe

    Затем постоянно принимает сертификат с помощью svn.exe.Выполните следующую команду и постоянно принимает сертификат при запросе:

    svn info <URL-to-repository>

 Смежные вопросы

  • Нет связанных вопросов^_^