AnkhSVN与VisualSVN比较

24

我们正在考虑在我的工作中转换到SVN,因此我想了解VS2008(以及2010推出后)的SVN插件。经过一番研究,我找到了AnkhSVN和VisualSVN这两个看起来最占主导地位的插件。(我知道TortoiseSVN并将与其插件一起使用)。

我知道之前已经有人问过这个问题,但这些问题是在近一年前提出的,我们都知道一年时间里很多事情都会发生改变。

问题:从你的经验来看,哪个更好?为什么?

6个回答

24

虽然已经有一年没再进行过头对头的比较,但我目前更喜欢 AnkhSVN。尽管人们一度对 AnkhSVN 的早期版本不满,但 2.0 版本几乎是一个全新的重写,现在它是一个完整的 Source Control Provider Integration Package 而不是一个 Visual Studio Add-In。凭借 CollabNet 的商业支持和更新的开源热情,AnkhSVN 2.0 值得一试。

我最喜欢 AnkhSVN 的两个功能是它是免费的以及我喜欢 Pending Changes 窗口。

至于 VisualSVN,我觉得它运行缓慢且它经常依赖 TortoiseSVN 来处理文件管理,而非自己处理。而且还需要付费(尽管是少量)。

再次强调,这是基于我一年前的头对头测试结果。正如之前所说,TortoiseSVN 本身就很棒,但如果你真的想要插入到 VS IDE 中,请先尝试 AnkhSVN,而不是 VisualSVN。祝你好运。


4
从2.0版本开始,AnkhSVN绝对更好,值得一试。 - Ted Elliott

8
我尝试了VS的两个插件...使用几个月后,我很快意识到我所有的时间都花在Tortoise上了!这些插件不能获取所有与主干相关的项目。它们只能处理解决方案中已识别的项目。因此,我几乎全部时间都在使用Tortoise......最终全部时间都用在了Tortoise上。当Tortoise是免费的并且几乎每天都会更新时,没有理由付费购买插件。

坚持使用Tortoise并学会如何使用它,你最终会更加满意。

回复:

@jeroenh: "...真正使用(正确集成的)VS插件有一个优势,那就是移动/重命名解决方案中的文件时......"

我同意,在Tortoise中重命名/移动文件很笨拙。而VisualSVN确实使此过程更容易。

@Darko Z: "就个人而言,我同意,但从组织层面来看,我不同意。我们这里有一些需要VS集成的人。是有点儿傻,但也无可厚非 :)"

是的,我目前的团队中也有几个这样的人。让他们习惯使用Tortoise的培训非常困难!这些人是我们购买VisualSVN许可证的原因,但他们也抱怨过。


就个人层面而言,我同意,但从组织层面来看,我不同意。我们这里有一些人需要VS的集成。是有点儿傻,但也无可厚非 :) - Darko
19
我不同意。使用(正确集成的)VS插件确实有优势,尤其是在移动/重命名解决方案中的文件时。如果你不使用AnkhSVN或VisualSVN,你将不得不通过TortoiseSVN进行这个操作,然后再同步你的解决方案文件,或者在Visual Studio中完成操作,并用TortoiseSVN纠正重命名/移动。无论哪种方式,都很笨拙、容易出错且耗费时间。 - jeroenh

6
我几个月前也遇到了同样的困境,最终决定使用VisualSVN。我们已经使用它进行C#内部Web应用程序开发4个月,我们的体验非常好。
首先,服务器部分集成了Active Directory,并提供了一个易于使用的MMC控件来管理存储库。
其次,客户端部分与VS2008集成,不会拖慢Visual Studio加载时间,并且使用相当简单的颜色代码(绿色表示未更改的文件,黄色表示您更改的文件)。它具有完整的版本差异,您可以对每个版本进行评论。
唯一的缺点是它的钩子支持(如提交后钩子)非常基础。
您可以查看诸如谁做出了最多的提交等统计信息。它支持分支,尽管我们不使用这些功能。所有客户端-服务器通信都通过SSL完成(密钥和证书会自动配置)。
我曾经问过他们一个问题,关于如何从Visual Studio下拉列表中删除分支历史记录,他们的支持回答说我只需要删除.suo文件(高效的客户服务)
最后,我的使用VisualSVN的经验:对于我们相对较小的团队而言,简单直接。(我们有5名程序员,但我相信这比那还要扩展得多)。

1
VisualSVN服务器是客户端的独立选择(而不是开发人员的选择)。 - Bert Huijben
3
我不明白为什么会被踩。我认为在这里分享一些真实的生活经验会很有用。服务器端与客户端是独立的。 - Wadih M.

4

我目前使用的是VisualSVN,它非常好用,因为它会自动将任何新文件添加到SVN中,并且允许轻松还原和比较,而无需打开资源管理器窗口。但是,对于不在您的Visual Studio解决方案中的文件,您仍然需要使用TortoiseSVN。

上次我使用AnkhSVN时,它并没有表现得太好,甚至搞乱了我的SVN检出(但这是几年前的事情了)。


3
我使用过两者,但更喜欢Visual SVN (截至v3.0.4),因为它与Tortoise SVN集成,在我已经熟悉的基础上更容易操作。因此,由于我熟悉Tortoise SVN并且VisualSVN可以方便地集成,我更喜欢它。
我认为有人会争辩AnkhSVN (截至v2.4.11610) 在VS.NET中集成了更多的功能,但它需要使用自己的对话框和提示,需要一些时间去适应,但我仍然喜欢Tortoise SVN的功能和熟悉度。
此外,由于我工作室所有人都使用Windows Explorer下的Tortoise SVN,所以转换到Visual SVN并不是一个大问题,只需要添加直接集成到VS.NET中的良好集成功能即可。在过去的30天中,我使用VisualSVN没有遇到其他帖子中提到的任何问题(似乎大多数是3-4年前的)。
因此,我的建议是:如果您是Tortoise SVN的重度用户并且喜欢其工作方式,请选择VisualSVN。如果您是Subversion的新手并且真的不关心这些区别,那么选择免费的AnkhSVN,并使用其附加的集成功能可能是正确的选择。

嗯,AnkhSVN有什么VisualSVN没有的吗?我的意思是你提到的“额外集成功能”。请注意,从VisualSVN 3.0版本开始,有一个免费的社区许可证可以在非域机器上激活。 - bahrep
1
我相信未决更改和合并跟踪功能可能会更加强大。但是,要完整查看(2)的功能,请参阅VisualSVN的功能:http://www.visualsvn.com/visualsvn/features/和AnkhSVN的功能:http://ankhsvn.open.collab.net/ankhsvn/features。 - atconway

0

你提出的问题归根结底是个人偏好,但我建议你在IDE客户端之外再安装Tortoise SVN或命令行客户端。此外,你经常会遇到IDE客户端无法执行所需任务的情况。


5
我已经说明了我将与TortoiseSVN一起使用它。 - Darko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接