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

9
我正在评估VisualSVN以及与我合作的小型开发团队。我在服务器上(VisualSVN服务器)轻松设置并安装了TortoiseSVN和VisualSVN,以便将其集成到Visual Studio 2008中。到目前为止,它运行良好,并且我们将其用于主应用程序的开发。
我听说新版本的AnkhSVN也不错,它是开源和免费的。由于我们刚开始使用Subversion,所以我现在想做出正确的决定。
是否可以在不太麻烦的情况下从VisualSVN切换到AnkhSVN?我能否保留VisualSVN Server安装,还是必须同时更换?如果开始使用AnkhSVN,TortoiseSVN是否过时?而且,在Visual Studio 2008中,当前版本可靠吗?
明确一点:这与每个开发人员50美元无关。这关乎未来做出正确的决策。你有什么建议吗?
非常感谢!
9个回答

15
我们准确地做到了这一点:从VisualSVN切换到AnkhSVN。整个过程非常顺利。这些插件不存储特定信息,而且.svn(或_svn)隐藏文件夹与任何svn客户端兼容。
Ankh插件的1.x系列很糟糕:经常崩溃并带来许多麻烦(例如,很难移动或重命名未提交的文件)。2.x系列纠正了大部分问题,虽然它仍然没有达到VisualSVN的水平,但我发现它对我们的使用非常足够(而且非常免费)。
关于迁移本身,它再简单不过了:我们只需要卸载VisualSVN,然后安装Ankh即可。只要目录在源代码控制下,它就能工作。
唯一共同之处是你仍然需要TortoiseSVN来完成许多任务,无论是高级任务还是基本任务:在资源管理器中创建工作目录和检出都比使用Visual Studio更简单。

7
我认为,如果您需要更高级的功能(如导出、重定位、整个目录操作、锁等),仍然需要使用TortoiseSVN。AnkhSVN v2也非常好用。我两者都在使用,没有遇到太多麻烦。
至于设置远程存储库(我不了解VisualSVN,所以我假设我们正在谈论存储库服务器),您需要直接使用Subversion软件包中的svnserve。您可以将其设置为Windows服务。请注意保留HTML标记。

我也使用这个设置。VisualSVN Server 和 AnkhSVN 客户端。它完美地运作。对于某些事情,我仍然会使用 TortoiseSVN。但大多数情况下,AnkhSVN 在 VS 中能够完美地胜任工作。 - Tigraine
让我以新手的身份理解一下:本地仓库是否必须或可以继续由TortoiseSVN控制?还是最好将该目录移动并重新开始? - splattne
AnkhSVN和TortoiseSVN都使用与所有SVN相同的文件夹结构。有隐藏的.svn文件夹来跟踪代码库。 因此,您可以在两个客户端中对存储库进行操作,产生相同的结果。 - Tigraine
我实际上专门使用AnkHSVN,但如果Ankh无法满足我的需求,我只需打开资源管理器,使用Tortoise进行操作,然后立即返回VS与Ankh一起使用,无需重新启动任何东西。 Ankh本身在内部使用SharpSVN引擎。http://sharpsvn.open.collab.net/ - Tigraine

4
AnkhSVN可以与任何Subversion服务器一起使用,而VisualSVN Server是Windows上最容易配置的服务器之一。
如果您需要在VisualSVN和AnkhSVN之间共享项目和解决方案,则应确保不要将您的项目连接到AnkhSVN scc提供程序或VisualSVN用户将看到警告。(您可以连接解决方案文件,而不会看到SCC警告)。
您可以将AnkhSVN与任何其他Subversion客户端并排使用,但我们设计AnkhSVN 2.0以不需要另一个客户端进行正常操作。您可能会遇到的唯一问题是,通过在其他Subversion客户端旁边使用AnkhSVN 2.0,只有在真正需要时(即在提交之前),才将文件添加到Subversion中,以提高性能并允许对文件进行重命名。

3
Ankh应该可以与任何Subversion服务器一起使用,所以它也应该可以与VisualSVN一起使用。 在这里查看:http://www.visualsvn.com/server/ 它说服务器与所有客户端兼容。 :-)

我在我的邮件存档中没有看到你的任何错误报告。你能否请在ankhsvn用户列表上报告你的2.0错误,这样我们就可以处理它了吗?(users@ankhsvn.open.collab.net)。谢谢。 - Bert Huijben
哦,这是一个旧评论了。我曾经在使用较旧版本的Ankh时遇到了问题。最近我重新尝试了一下,现在它工作得非常好!:-) - Rune Grimstad

2

我正在使用VisualSVN和Ankh,没有遇到任何问题 - Ankh可以与任何Subversion服务器配合使用。我发现VisualSVN和“原始”的Subversion软件包之间唯一的区别是VisualSVN使用http/https而不是svn:协议。


1

可能有人会觉得我疯了,但是这个解决方案对我来说似乎相当干净:http://blog.programmerslog.com/?p=4

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

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


1

0
说实话,我并不太喜欢Visual Studio的许多SVN插件。最终,我只是定制了一组宏来完成我需要做的任何事情,并添加了菜单项和自定义上下文菜单,用于提交、更新、显示日志等操作。我使用了Tortoise并与命令行工具集成。这很容易做到,涉及到与TortoiseProc.exe的命令行调用集成。然而,我相信与svn.exe或其他基于命令行的svn客户端集成也同样容易。此外,你还可以获得额外的优势,即将其设置为你认为合适的样子,而不是打包好的东西。在找到更好的Subversion集成工具之前,我会继续使用定制的宏。

我知道现在问有点晚了,但你介意分享一下你实现的那些宏和自定义吗? - Alex

0

我的Ankh经验很糟糕(运行时崩溃太多),不过这是针对旧版本的Ankh,他们可能已经缓解了这些问题。话虽如此,首先要坚持使用a)可用的功能,然后b)你能负担得起的。


1
AnkhSVN 2.0是自1.X系列以来几乎全部重新编写的。它的集成与以前完全不同。 - Bert Huijben

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