使用Visual Studio进行源代码控制:从VisualSVN切换到Ankh?

时间:2008-11-12 08:29:40

标签: visual-studio version-control migration visualsvn ankhsvn

我正在为我和一小组开发人员评估VisualSVN。我在服务器(VisualSVN服务器)上设置它没有问题,并安装了TortoiseSVN和VisualSVN,以便将它集成到Visual Studio 2008中。到目前为止,它运行良好,我们用它来开发我们的主要应用程序。

我也听说过新版AnkhSVN的好消息,它是开源和免费的。由于我们刚开始使用Subversion,我现在想做出正确的决定。

是否可以从VisualSVN切换到AnkhSVN而不会有太多麻烦?我可以保留VisualSVN Server安装,还是必须切换它?如果我开始使用AnkhSVN,TortoiseSVN是否已过时?并且,Visual Studio 2008中当前版本是否可靠?

要明确:这不是每个开发人员50美元。这是为未来做出正确的决定。你推荐什么?

非常感谢提前!

9 个答案:

答案 0 :(得分:15)

我们确实做到了:从VisualSVN切换到AnkhSVN。这一举动毫无困难。这些插件不存储特定信息,并且.svn(或_svn)隐藏文件夹与任何svn客户端兼容。

Ankh插件的1.x系列非常糟糕:很多崩溃和烦恼(例如,移动或重命名一个非静态提交的文件非常困难)。 2.x系列纠正了大多数问题,虽然它仍未达到VisualSVN的水平,但我发现它对我们的使用来说已经足够了(并且非常免费)。

关于迁移本身,它不可能更简单:我们刚刚卸载了VisualSVN,并安装了Ankh。只要您的目录受源代码管理,它就可以工作。

唯一常见的事情是你仍然需要TortoiseSVN做很多事情,无论是高级任务,还是更基本的任务:在Visual Studio中创建工作目录和结帐比使用Visual Studio要简单得多。

答案 1 :(得分:7)

我认为对于更高级的功能,您仍然需要TortoiseSVN(如Export,Relocate,整个目录操作,锁等等)。 AnkhSVN v2非常好。我没有太多麻烦使用它们。

至于设置远程存储库(我不知道VisualSVN,所以我假设我们正在讨论存储库服务器),您需要直接从Subversion包中使用svnserve。您可以将其设置为Windows service

答案 2 :(得分:4)

AnkhSVN适用于任何Subversion服务器,而VisualSVN Server是最容易配置Windows服务器之一。

如果您需要在VisualSVN和AnkhSVN之间共享项目和解决方案,则应确保不将项目连接到AnkhSVN scc提供程序,否则VisualSVN用户将看到警告。 (您可以连接解决方​​案文件而不会看到SCC警告。)

您可以将AnkhSVN与任何其他Subversion客户端并排使用,但我们将AnkhSVN 2.0设计为不要求其他客户端进行正常操作。在其他subversion客户端旁边使用AnkhSVN可能会看到的唯一问题是AnkhSVN 2.0仅在真正需要时(在提交之前)将文件添加到subversion,以提高性能并允许对文件进行大小写重命名。

答案 3 :(得分:3)

Ankh应该可以对抗任何Subversion服务器,因此它也可以对抗VisualSVN。 请参阅此处:http://www.visualsvn.com/server/它表示服务器与所有客户端兼容。 : - )

答案 4 :(得分:2)

我正在使用VisualSVN和Ankh没有问题 - Ankh可以对抗任何Subversion服务器。我在VisualSVN和'原始'Subversion包之间找到的唯一区别是VisualSVN使用http / https而不是svn:protocol。

答案 5 :(得分:1)

我认为这包含相关的信息:AnkhSVN versus VisualSVN

答案 6 :(得分:1)

叫我疯了,但这个解决方案对我来说似乎很干净:http://blog.programmerslog.com/?p=4

Garry Bodsworth提出了使用TortoiseSVN的Visual Studio设置。基本上,不是手动添加外部工具自定义,而是导入这些设置为您完成所有操作:Subversion工具栏,Subversion菜单和上下文菜单命令。

我认为这比安装AnkhSVN或VisualSVN更简单。

答案 7 :(得分:0)

我对Ankh的体验非常糟糕(运行时崩溃太多),但这是针对Ankh的旧版本,他们可能已经解决了这些问题。话虽这么说,首先坚持a)什么有效,然后b)你能买得起的。

答案 8 :(得分:0)

老实说,我不喜欢Visual Studio的任何SVN添加内容。我最终只是自定义我自己的一组宏来做任何我需要做的事情,并添加菜单项和自定义上下文菜单,用于提交,更新,显示日志等。我使用Tortoise并与命令行工具集成。它很容易做到,涉及与TortoiseProc.exe的命令行调用集成。但是,我确信与svn.exe或其他基于命令行的svn客户端集成也同样容易。此外,您可以获得额外的优势,让它设置您的思考和工作方式而不是打包的东西。我将继续使用自定义宏,直到找到一些更好的subversion集成工具。