【问题标题】:Svn Commit hangs for an infinite time.How to resolve this issueSvn Commit 无限期挂起。如何解决此问题
【发布时间】:2014-07-07 12:25:55
【问题描述】:

我执行了以下步骤来实现svn中自动镜像的过程(将master提交到slave):

  1. 首先我运行svnsync init 命令来初始化主从存储库

  2. 现在我在 hooks 目录内的 master 端创建了 post-commit.bat 和 post-revprop-change.bat,在 slave 端创建了 prev-revprop-change.bat

  3. 现在,在使用 eclipse 从主端提交我的更改时,提交会挂起无限长的时间而没有任何成功。

  4. 我在post-commit.batpost-revprop-change.bat中运行的命令是:

    svnsync sync https://TestPcWin8pro.rcik3.domain.local/svn/testrcirepo/

    svnsync copy-revprops https://TestPcWin8pro.rcik3.domain.local/svn/testrcirepo/

请检查命令并建议为什么在从 Eclipse 提交时提交挂起(使用 Subclipse 插件)。

【问题讨论】:

  • 您在要同步的服务器上看到任何活动吗?您是否在脚本中指定了 svnsync.exe 的完整路径?挂钩脚本在空环境中执行,包括 `%PATH% 为空或几乎为空,因此您必须指定 EXE 的完整路径。
  • 是的,我发现提交导致的挂起发生在对 svnsync 的调用中。

标签: svn visualsvn-server post-commit post-commit-hook svnsync


【解决方案1】:

我发现您当前的复制配置存在一些问题。

  • 据我猜测,您的 VisualSVN 服务器实例配置为使用一些不受信任的证书(是自签名证书吗?)。在这种情况下,您必须在两个钩子脚本中运行的命令行中添加以下选项:

    --trust-server-cert --non-interactive

    这些选项将强制 Subversion 客户端在没有交互式提示的情况下接受证书。

  • 您没有在这些命令行中指定任何与身份验证相关的选项。确保添加有效的密码和用户名选项:

    --username <USERNAME> --password <SUPERSECRET> --no-auth-cache

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    相关资源
    最近更新 更多