【问题标题】:After upgraded to Xcode 4.2, Organizer - SVN repository stopped working升级到 Xcode 4.2 后,Organizer - SVN 存储库停止工作
【发布时间】:2011-11-04 10:28:48
【问题描述】:

我最近将我的 Xcode 升级到了 4.2。从那时起,我的 Organizer-Repository 停止工作。最初它说“主机无法访问”并在每个位置放置红点。

在同一个 Mac 10.6.8 中,我确实有 SvnX,它可以在相同的 SVN 位置上正常工作。我还在 Safari 中对此进行了测试,发现它可以正常工作(服务器支持 VisualSVN)。只有 Xcode 发现这个位置有问题。

我什至在我的私有/etc/host 文件中附加了 svn.ip.address my-svn-pet-name 并在我的 xcode 中使用了这个post。没用。

我的存储库通过特定端口 8080 连接。我在 svn url 中将 ip-address 指定为http://my-svn-pet-name:8080/...

非常感谢任何帮助。

更新:为了隔离问题,我尝试从 xcode 管理器连接http://gdata-objectivec-client.googlecode.com/svn/trunk/,它可以正常工作。我没有为此位置提供任何用户名和密码。但是,我的存储库需要身份验证,在我最近的尝试中,当我选择左窗格上的快捷方式时,主干、分支和标签旁边的点图标会发出绿色光。但是,当我单击“根”并尝试展开“主干”时,它显示“无法加载修订版”

2011 年 9 月 9 日更新:使用命令 sudo /Developer/Library/uninstall-devtools --mode=all 卸载 xcode 并重新启动 mac 并重新安装 Xcode 4.2。

当我打开 Organizer 时,出乎我的意料,所有的 svn 快捷方式都完好无损,问题仍然存在。

【问题讨论】:

  • 我也遇到了同样的问题,silversurfer 的回答对我来说效果很好。
  • 我也认为 Xcode svn 代码有问题。然而,与“silversurfer”类似,我进入终端并直接使用 svn 命令,它询问我想用不受信任的证书做什么,我将它们永久存储并且 svn 也开始在 Xcode 中工作。
  • 这对我有用,因为这篇文章的大部分内容都没有:stackoverflow.com/questions/7904939/xcode-4-2-svn-issues

标签: macos svn xcode4 xcode-organizer


【解决方案1】:

问题仅出现在最新的 XCode 4(build 4C177 - iOS 5 beta 7)。

稍早的 XCode 4 版本(build 4C104 - iOS 5 beta 5)运行良好。

和 Saran 一样,我尝试了 majkelx 和 OMH 的建议,但它们对我不起作用。

当我启动 build 4C177 并立即打开 Organizer 时,存储库最初显示为绿色(如 Saran 所述)并且历史可用。任何其他操作都会将它们变为红色。但是文本编辑器中的比较视图成功显示了与存储库的差异,以及修订号。

因此,我得出的结论是,存储库设置正常并且身份验证确实有效,但是构建 4C177 中的各种源代码控制功能存在错误。我建议安装早期的 XCode 4 并等待下一个版本。我向 Apple 提交了错误报告。

【讨论】:

  • 谢谢 ZeroDiv。我想这也可以解决我的问题。但我找不到达到以前版本的方法。你能给我一些到达的步骤吗?
  • 好吧,我获取了当前 iOS SDK 的 URL:
  • 刚才我复制了当前iOS SDK的URL,将“preview_7”更改为“preview_5”,将“beta_7”更改为“beta_5”,然后开始下载.dmg。我不想发布任一版本的完整 URL,因为 Apple 可能不会批准。也许 beta 6 也可以,我不知道。如果这对你有帮助,别忘了给我投票;我的 StackOverflow 声誉肯定会有所提升。 (也许我应该尝试回答更多问题!)
  • 我降低了我的 xcode 预览级别并最终使用 Build 4C151a。但它没有用。在过去的几天里,我就这样离开了。当我今天再次检查时,我发现 xcode 可以与我的 Intranet svn 一起使用。不知道我的降级和现在之间发生了什么。我相信降级也可能有所帮助。
【解决方案2】:
  1. 关闭 Xcode 和所有 Subversion 客户端
  2. 转到 Keychain Access.app
  3. 搜索所有“svn”条目。
  4. 删除所有可能与您的存储库相关的内容(假设您记得用户和通行证)
  5. 从命令行(Terminal.app)签出项目(可以肯定的是,我在下面的示例中使用了与 Xcode 一起使用的 svn,可能是您从 macports 或其他地方安装了另一个 svn 命令行?)

    /Developer/usr/bin/svn co  http://my-svn-pet-name:8080/... tmp-dir
    
  6. 在 svn 请求时提供用户和通行证。

  7. 再次转到 Keychain Access.app 并在 details/Access Control 中找到新创建的条目(再次搜索 svn),授予所有应用程序的密码访问权限(这在 99% 的情况下不需要,但可以解决 svn 版本的问题和其他颠覆客户端不匹配)。
  8. 就是这样。 Xcode 应该会再次看到您的存储库,或者在 Organizer 中重新创建它们的快捷方式之后。

【讨论】:

  • 我试过这个,但没有解决我的问题。在我的故障排除过程中,我多次删除并重新创建了捷径。有时,它会列出主干、分支和标签文件夹,并在右侧显示主干、分支和标签旁边的绿点。这表明,我认为这次它能够达到 svn。但是,当我单击左侧的主干时,它显示“无法加载修订版”。我的“刷新”没有任何区别。如果您有任何进一步的建议,请告诉我。谢谢。
  • 我在密钥链中有一个本地存储库的 svn 条目。 Xcode 4.2 在 Repository UI 中显示了用户 ID 和密码。在我遇到这个问题之后,我改变了这些并把它们改回来,看看是否有什么不同。我没有关闭 Xcode 并从我的钥匙串中删除了该条目。我没有使用命令行或更改 Xcode 中的凭据(它们已经正确)。当我点击我的后备箱时,当时一切都加载得很好。我仔细检查了我的钥匙链,不再有 svn 的条目。 HTH。
【解决方案3】:

什么都试了,一路“主机不可达”。

以下内容立即为我修复了它(使用 https 连接(!)):

  • 在 Safari 中输入您的 repo 地址(也可以只使用服务器地址)。

  • 当 Safari 警告您信任服务器时,“始终接受”证书。

  • 重启 Xcode。完毕。有效。

【讨论】:

    【解决方案4】:

    从 beta_7 开始,我也遇到了同样的问题(之前的 4.2 测试版没有出现此问题)。我升级到了4.2的GM,还是一样。

    我发现了我的情况。我使用的 URL 端点是 SSL (https://my-svn/etc/etc)。当我通过 Safari 登录进行测试时,我收到了“证书可能无效”的警告,然后我继续通过此操作并能够输入我的凭据并可以看到存储库结构(如预期的那样)。

    我最初认为服务器上使用的证书已经过期,Xcode 正在履行幕后的警告。下次我尝试使用 Safari 时,我在警告中选择了“查看证书”,并且看到证书仍然是新的(2018 年到期日期),但是我们的自签名证书没有指向证书颁发机构,而 Safari 是报告我的 Mac 不信任该证书。因此,我选择了对话框显示的“始终信任”选项,并且警告在 Safari 中消失了。在 Mac 的 Keychain 中建立了“强制信任”,于是我启动了 Xcode 和 viola,Organizer 中所有关联的存储库条目都发出绿光。

    【讨论】:

      【解决方案5】:

      我在使用 VisualSVN 时遇到了同样的问题。

      我可以连接到HTTPS://mysvnserver:8443/,然后我被要求提供用户/通行证组合。

      在 Xcode 中,连接总是失败。有时 Xcode 会抱怨证书不是由受信任的机构颁发的,在我的情况下这是正确的。

      证书在我的钥匙串中一如既往的信任,但这并没有解决问题。

      我的解决方案:

      1. 打开终端窗口
      2. 键入命令svn co https://mysvnserver:8443
      3. 已发出请求,要求证书安全按 P 以允许永久。

      【讨论】:

        【解决方案6】:

        Xcode 4.2 的 SVN 确实被破坏了。

        命令行中的 svn 工作得很好,所以我看不出它怎么可能是一个身份验证问题——它只是一个直接的错误,并展示了这些天 Xcode 版本收到了多少测试...... Xcode 4系列已经很多倒退了:-(

        Xcode 4.1 中的 SVN几乎正常工作....现在它根本不工作了。呸!

        【讨论】:

          【解决方案7】:

          遇到了同样的问题。存储库列表中的点是绿色的,但它只是拒绝提交更改或更新状态,尽管比较工作正常。

          我打开了存储库,然后在左侧窗格中选择了存储库项下的项目。在窗口的左下角,您将有两个按钮,更新和提交。我在那里按了提交,它工作正常。但是,之后它仍然不会通过项目提交(Alt+Cmd+C 或通过文件菜单)。不知道到底发生了什么。

          【讨论】:

            【解决方案8】:

            当您使用任何IP访问SVN时,XCode发送本地用户的凭据,SVN无法授权用户;

            您只需要在主机中为您的 IP 创建一个别名,并在 URL 中使用该别名而不是 IP。关于如何制作别名的综合手册,您可以找到here。最后我的 URL 看起来像 http://svnserver:8080/svn/...

            【讨论】:

              【解决方案9】:

              升级到 Xcode 4.2 后,我也遇到了同样的问题,出现红点,“主机无法访问”。

              我尝试了 majkelx 的配方,但那些点仍然是红色的。

              但后来我只是尝试使用 Xcode 管理器而不是命令行来检查存储库。突然间,一切都奏效了!

              (如果不摆弄钥匙串,它可能无法工作,就像 majkelx 描述的那样)

              编辑:在钥匙串中搜索 Subversion 条目时,还要搜索“sub”,而不仅仅是“svn”。我的密码在“颠覆”中。只有我的网络颠覆密码在“svn”中。 对于正在为此苦苦挣扎的其他人来说,这只是一个提示。我今天在这上面浪费了一个多小时。 :-)

              【讨论】:

              • 看来我没有你那么幸运。试过你的建议,问题依旧。我也觉得它与凭据有关。如果它使用的凭据不起作用(无论 xcode 记得什么),那不应该给我一个对话框来输入吗?即使这样也没有发生。无论如何,谢谢你的回答。
              【解决方案10】:

              我有同样的问题,Xcode 4.2 (Build 4D199) 最初能够连接(绿灯),然后很快失去连接(红灯)。但这只发生在我使用电缆连接到与 SVN 存储库相同的 LAN 时。如果我切换到无线连接,Xcode 能够再次连接(绿灯)。在所有情况下,我都可以使用终端和其他 SVN 工具 ping 并连接到 SVN。挣扎的只是 Xcode。您可以尝试使用无线或通过 VPN 来绕过此问题。

              【讨论】:

                【解决方案11】:

                尝试从您的 svn 地址中删除“https://login@” 对我有用。

                对于http://my-svn-pet-name:8080/ 尝试类似my-svn-pet-name:8080/

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2015-09-04
                  • 2017-02-12
                  • 2010-12-21
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-12-02
                  相关资源
                  最近更新 更多