【问题标题】:Is AnkhSVN a good alternative to Visual SourceSafe?AnkhSVN 是 Visual SourceSafe 的一个很好的替代品吗?
【发布时间】:2010-11-09 02:10:45
【问题描述】:

我们已经使用 Microsoft Visual SourceSafe 6.0d 并希望迁移到 SubVersion。我们的 IDE 是 Visual Studio 2005,但我们计划很快升级到 2008。我们正在考虑安装 VisualSVN 服务器,然后将 AnkhSVN add-in 用于 Visual Studio。 VisualSVN 服务器在社区中享有很高的声誉,因此我对它充满信心。但是,我对 AnkhSVN 的了解不多。我们有一个小型开发团队,除了我们已经习惯使用 Visual SourceSafe 的功能外,不需要任何花哨的功能。 StackOverflowLand 有没有人做过我正在做的事情?如果是这样,您会推荐它吗(而不是升级到 SourceSafe 2005)?

【问题讨论】:

  • 不完全等效,除非您准备手动进入并偶尔破坏数据库

标签: visual-studio version-control


【解决方案1】:

我已经使用 AnkhSVN 和 TortoiseSVN 从 VSS 迁移到 SVN。我在进行更改时没有任何问题。 IMO 是一个更好的工作环境。

我在团队环境中都使用过,在单人冒险中使用过 SVN。对于个人创业,SVN 绝对是要走的路,它要快得多。在团队环境中,我仍然喜欢 SVN,尽管有些人真的很喜欢 VSS 的检出功能。我更喜欢 SVN 提供的锁定功能,而不是结帐。

【讨论】:

  • 在我的团队中,我们最近从 VSS 切换到了 SVN AnkhSVN + TortoiseSVN,我完全同意它比 VSS 好很多。
【解决方案2】:

我们在这里使用 AnkhSVN,我对此非常满意。

我们遇到的唯一问题是,由于存储库构建不当,当您从 VisualStudio 中仅更新解决方案时,它有时会尝试更新(签出)和整个存储库。

另外,这也很重要,因为其他人先花时间在 VSS 中,后来又转移到 SVN,您应该知道 SVN 通常不会像源代码安全那样锁定文件。它不是锁定文件以便一次只有一个开发人员进行更改,而是允许多个开发人员同时在同一个文件中工作,并在第一个提交更改后提示开发人员进行合并。只是需要准备的东西。

【讨论】:

  • 哇,这绝对是一个提醒! SVN有没有可能和VSS一样的锁定机制?
  • SVN 可以做锁,但方式不完全相同,也不是默认行为。 SVN 不会只用第 2 次覆盖第一个开发人员更改。相反,需要进行合并。不锁定是进行源代码控制的更被接受的方式,因此您应该习惯这种方式。
  • 您可以根据需要锁定文件,但您不会。 SVN 是一个全新的范式。这个想法是你做任何你喜欢的改变,然后提交它们。如果其他人做出了冲突的更改,则在合并 2 个更改集之前,您无法提交更改。听起来很复杂,但其实不然。
  • 我发现当您在树中移动文件和文件夹时,ANKH 会遇到很多麻烦,并且在签入时遇到问题。使用 Tortoise/Visual SVN 解决了​​大部分问题
  • 您可以在文件 -> Subversion -> 更改源代码管理中设置根文件夹。这将解决它尝试签出整个存储库的问题。此设置作为属性存储在解决方案中,因此在您更改并提交此设置后,它将被修复以供将来结帐。
【解决方案3】:

是的。我目前正在使用您建议的 VisualSVN 组合作为 SVN 存储库服务器和 AnkhSVN 作为 Visual Studio 2008 Pro 的插件作为我的家庭项目的 SCM。我发现该组合非常稳定,并且在正确设置存储库后,非常直观的设置与 VS2008 很好地集成。

作为额外的奖励,您还可以直接从 SVN 存储库打开解决方案,无论是从本地 VisualSVN 还是从外部存储库(如 Google Code)。

我强烈推荐这种组合,现在希望我早点放弃使用 TortoiseSVN。

【讨论】:

    【解决方案4】:

    大约 2 年前,我们使用我工作的 VisualSVN 服务器迁移到 SVN。我们做过的最好的事情。相比之下,Visual SourceSafe 就是一堆废话。我会使用 VisualSVN 插件而不是 Ankh。我发现 Ankh 并不总是把事情做好,而且我有时没有将我添加的文件提交给 SVN。 VS VisualSVN 像梦一样工作。从来没有遇到过问题,而且物有所值。

    在您进行持续集成的同时(如果您还没有这样做的话)。 Team City 是我们使用的,它与 SVN 非常容易集成。

    【讨论】:

    • 刚刚意识到您没有提及任何语言/IDE,因此 VS IDE 插件可能对您没有任何用处。不过,对于那些正在使用 Visual Studio 的人来说,这是一个很棒的工具。
    • 其实他提到了Visual Studio ;)
    • 本来我没有,但我看到了一个编辑问题(太棒了!),所以我做了并包含了它。
    • 我想我在大约 6 个月到一年前尝试过 Ankh。其他人都在使用 VisualSVN 插件,但我想看看我是否可以为部门节省一些钱并使用 Ankh。那是一个错误。我确信 Ankh 是一个很棒的工具,但我发现使用 Visual Studio 的 VisualSVN 插件要好得多。您仍然需要 TortoiseSVN,因为插件使用它。我现在不能没有 SVN、TortuiseSVN、VisualSVN 插件和 TeamCity。 TeamCity 特别适合确保您的代码处于良好状态。
    • 从 2008 年 7 月到 2009 年 7 月,Ankh 发生了很多积极的变化
    【解决方案5】:

    我从未使用过 Visual SourceSafe,但我经常使用 Subversion。 AnkhSVN 使解决方案和 SVN 之间的同步比使用 TortoiseSVN 或命令行更轻松。

    是的,效果很好。

    【讨论】:

      【解决方案6】:

      我使用 AnkhSVN(1 年)已经有一段时间了,对此我没有任何抱怨。我也使用过 TortoiseSVN 和 CVS 并且非常好,但是 ANKhSVN 集成在 IDE 中对我来说非常有用,并且更容易处理所有更改并查看历史记录和其他所有内容。我非常推荐它,但这是每个人的选择问题。

      希望对你有帮助。

      【讨论】:

        【解决方案7】:

        我的公司刚刚从 VSS6 切换到 SVN、AnkhSVN 和 Tortoise。经过大量研究,这是要走的路。到目前为止,这是一次更好的体验。当然,转移版本控制需要一些工作,但一旦完成,它就完成了。

        要记住一件事,它是免费的! 如果您有一些实用程序或小型项目,为什么不使用 svn 尝试一下,这样您就可以亲眼看看 AnkhSVN 是怎样的。您可以参考其他人的建议,但这是您使用该工具的感受。这样您就可以在完全提交之前对其进行测试。

        类似的 SO 主题:

        SVN? VSS? Whis is one better than the other?

        How do i convince my team to drop sourcesafe and move to SVN?

        VSS of SVN for a .Net Project?

        关于 Subversion 的阅读内容:

        Basics Training Guide

        Good Background Information

        还有一句很棒的引言:

        “Visual SourceSafe?打印出你所有的代码,通过碎纸机运行它,然后放火烧它会更安全。” - (归因于身份不明的 Microsoft 员工)。

        【讨论】:

          【解决方案8】:

          一年前,我们从 VSS 迁移了 VisualSVN 服务器。我们做过的最好的事情。由于 VisualSVN 的入门价格低廉,如果您需要支持,最好还是购买。我从来没有遇到过 VisualSVN 的问题。我们使用 TortoiseSVN(清理/更新问题)出现了正常的东西,但 VisualSVN 的工作就像一个魅力。

          【讨论】:

            【解决方案9】:

            去吧 - Tortoisesvn 是交易的一部分,它对 IDE 之外的版本控制任务有很大帮助。 任何东西都比 SourceSafe 好。

            【讨论】:

              【解决方案10】:

              我在团队环境中同时使用了 VisualSVN 和 AnkhSVN。我个人更喜欢 VisualSVN。

              AnkhSVN 的一个奇怪点是它会将一些记录写入项目文件(我忘记了具体是 .csproj 还是 .sln 文件),这表明 Ankh 正在管理源代码控制。现在,如果您在团队环境中并且团队中的另一个人没有安装 Ankh 并打开解决方案,它将显示一条错误消息,指出找不到指定的源代码管理,您要删除它吗?如果他们选择“是”,那么它会从他的文件中删除 Ankh 记录,然后团队中的人 A 将不再使用 Ankh。

              长话短说,如果您有 >1 位开发人员要使用它,请确保每个人都使用或不使用 Ankh。

              除此之外,我也没有遇到过真正的问题。

              【讨论】:

              • 谢谢。我们都将使用完全相同的软件/插件,直至版本。
              • 项目和解决方案文件的更改是可选的;请参阅 AnkhSVN 常见问题解答。 (并且只有在项目文件中没有真正的 SCC 提供程序的标记才会给您一个警告)。
              • 谢谢伯特,我没有意识到有一个选项可以改变它。这有帮助!
              【解决方案11】:

              我们使用 Ankh 有一段时间,但发现它确实减慢了大型解决方案(20 多个项目)的加载速度。最后,直接从项目文件夹中使用 TortoiseSVN 并跳过 VS IDE 集成不仅更快,而且开发人员不得不考虑他们提交到存储库的内容。最初有一个小的学习曲线,但最后,每个人现在都对 SVN 的工作原理有了更好的了解,这在我看来是无价的。

              更新:我一直在使用新版本的 AnkhSVN,它比 1.x 的努力有了很大的改进。而且,我们已经有很多新的开发人员加入了团队,他们总体上不熟悉 SVN,自从他们开始使用 AnkhSVN 以来,由于忘记将文件添加到存储库而导致的构建损坏显着下降,因为它会自动处理它.

              【讨论】:

              • 在使用 VisualSVN 插件之前,我们都使用 TortoiseSVN。我同意从 TortoiseSVN 开始可能是一个好主意,这样你就可以更好地了解幕后发生的事情,但是一旦你知道发生了什么,插件真的很方便。我仍然使用 TortoiseSVN 来做任何复杂的事情,比如合并/分支。
              【解决方案12】:

              我使用了 SmartSVN 的组合,与 Ankh 的集成到 Visual Studio 中是赢家。他们并排坐得很好。

              VSS 很糟糕,但是能够在 VS IDE 中使用它是它唯一的优点。

              【讨论】:

                【解决方案13】:

                当我使用 VSS 时它还可以,但它的原始功能列表和可怕的损坏问题我可以不用处理。 SVN 是一个很好的源代码控制。只需确保在开始之前了解如何使用它。我会说,我不是乌龟 svn 的粉丝。它分散在整个文件系统中,并坚持在后台运行一些进程,我不喜欢(你可能不在乎)。我认为 Ankh 足以对抗 SVN;我在使用它时没有任何问题(或者我不记得)。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-08-23
                  • 1970-01-01
                  • 2013-09-20
                  • 2011-01-09
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多