【问题标题】:What are your experiences running SVN on Windows?在 Windows 上运行 SVN 是什么体验?
【发布时间】:2008-08-23 19:30:47
【问题描述】:

我很想听听那些目前在 Windows 上运行 SVN 服务器的人的经验。

Jeff Atwood 在how to setup SVN as a Windows service 上有一个帖子。这是一个伟大的第一步,但它没有涉及其他主题,例如:

  • 如何使用基于 Web 的存储库浏览器? WebSVN 可以在 Windows 上运行,但并不漂亮。
  • 如何管理passwd文件?
  • 是否可以在不运行 Apache 的情况下与 Active Directory 集成?
  • 备份存储库的策略。
  • 对 Visual Studio 开发有用的全局忽略模式(例如建议 hereherehere)。

大约一个月前,我们公司从 SourceGear Vault 切换到了 Subversion。我们已经掌握了基础知识,但很想发现人们在 MSFT 世界中运行 SVN 的提示和技巧。

【问题讨论】:

    标签: windows svn


    【解决方案1】:

    使用VisualSVN Server。它与 Windows 身份验证集成,并处理所有 apache 设置。它就像 SVN 在 Windows 上一样轻松。

    【讨论】:

      【解决方案2】:

      VisualSVN 是要走的路。内置的 Active Directory 支持非常易于使用。

      【讨论】:

        【解决方案3】:

        我发现 VisualSVN 比将 SVN 作为本机服务运行慢 50%。我一直以为

        那是因为使用 Apache 通过 http:// 访问,看起来它必须更慢

        比通过 svn:// 访问,这是本机 TCP/IP。

        实验

        在过去的 30 分钟内,这是我所做的:

        • 在端口 8080 上安装 VisualSVN,与我现有的 SVN 安装并排
        • 将三个现有存储库导入 VisualSVN
        • 把其他人踢出服务器
        • 对完整的 svn 结帐进行并排比较

        结果

        Repo 1: 652 files, 273 directories, 60.1MB
          23 seconds for VisualSVN over http:// 
          16 seconds for SVN over svn://
        
        Repo 2: 4623 files, 964 directories, 127.9MB
          2 minutes, 18 seconds for VisualSVN over http://
          1 minute, 30 seconds for SVN over svn://
        

        这是在相同的硬件上,具有完全相同的存储库。我喜欢 VisualSVN 的简单性,但 AD 集成和 GUI 不值得 50% 的性能损失。

        其他人看到这种差异吗?只是遵循默认安装选项,我做错了吗?

        【讨论】:

        • 您的分析存在缺陷,因为您没有将苹果与苹果进行比较。您可能想阅读svnbook.red-bean.com/en/1.5/svn.serverconfig.choosing.html 您应该将 Apache HTTPd + mod_svn 与 VisualSVN 进行比较以获得相同的功能。
        • 呃……这不是我说的吗? “我一直认为这是因为使用 Apache 通过 http:// 访问,这似乎比通过原生 TCP/IP 的 svn:// 访问要慢。”
        • 我确定有区别,但是您是否在测试之间重新启动了盒子?否则操作系统完成的文件缓存会影响第二次运行的时间。
        • subversion 通过 http:// 比 svn:// 慢得多的事实是一个已知问题。最后我读到它计划在颠覆 1.7 中修复它:blog.red-bean.com/sussman/?p=139
        • http://比svn://慢的部分原因是HTTP是无状态的,所以开销更大。 SVN 协议是有状态的。这已在 SVN 邮件列表中多次讨论。
        【解决方案4】:

        我的博客http://tv.inner-rhythm.co.uk/ 上有一个相当深入的教程,介绍如何使用我们在公司使用的 Apache 和 Trac 设置 SVN。

        【讨论】:

          【解决方案5】:

          我使用 VisualSVN 和 Tortoise 的组合。它不能很好地与 Visual Studio 集成,但您可以使用其他插件/应用程序。

          【讨论】:

            【解决方案6】:

            Trac 无疑是我使用的最好的基于 Web 的项目管理软件,它与 subversion 集成,因此您可以查看每个版本的提交和差异的时间线,它允许票证和错误报告,并具有内置的 wiki。

            http://trac.edgewall.org/wiki/TracOnWindows

            对 python 有一点了解,并且很容易启动和运行(如果你在 windows 上,使用 tracd 服务器:http://trac.edgewall.org/wiki/TracStandalone(这个链接将告诉你如何将它安装为 windows 服务)。

            【讨论】:

              【解决方案7】:

              我推荐TortoiseSVN。它将 SVN 功能添加到 Windows 资源管理器中。此外 TortoiseSVN 检查您使用的 IDE 是否支持 SVN。

              【讨论】:

              • TortoiseSVN 将 SVN 添加到 XP Windows 资源管理器中。 Vista 的资源管理器不允许这种自定义,这是我对 Vista 的一大抱怨。
              • @David:TortoiseSVN 过去 2 年一直在我的 Vista 盒子上工作,没有任何麻烦。
              【解决方案8】:

              Rich Strahl 刚刚发布了一篇关于为 Subversion 源代码控制运行 VisualSVN 服务器的博客文章。值得一读:

              http://west-wind.com/weblog/posts/480534.aspx

              【讨论】:

                【解决方案9】:

                为了备份,我编写了一个批处理文件和一个每周运行一次的 VBScript 作为计划任务的组合。它:

                • 扫描文件系统上的特定文件夹以递归方式查找 SVN 存储库(我们有许多小型存储库,因为我们发现一个超级存储库很快变得难以维护,并且在与 TortoiseSVN 一起使用时速度非常慢);李>
                • 在找到的每个存储库上使用 svnadmin hotcopy 来创建备份;
                • 7将所有备份压缩到一个存档中;
                • 在 SAN 上安装共享并复制存档;
                • 删除所有临时文件;
                • 通过电子邮件发送“成功”通知。

                【讨论】:

                  【解决方案10】:

                  VisualSVN 服务器 + Trac + TortoiseSVN + Ankhsvn。

                  完成。光滑如丝。 Visual SourceSafe 应该是什么。

                  【讨论】:

                    【解决方案11】:

                    我认为您看到了 svn 协议和将 svn 协议托管在另一个协议之间的区别。
                    与 svn 相比,使用 svn+ssh 时类似的性能下降。

                    易于设置,对我的团队来说毫无疑问,我们只是将它扔到虚拟机上然后运行。

                    【讨论】:

                      【解决方案12】:

                      在 apache 下运行 SVN 真的没那么难。您可以使用mod_auth_sspi 与活动目录集成。

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2016-01-09
                        • 2019-05-25
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2011-08-02
                        相关资源
                        最近更新 更多