使用 Visual Studio 进行源代码控制:从 VisualSVN 切换到 Ankh?
我正在为我和一小群开发人员评估 VisualSVN。 我毫无问题地将其设置在服务器(VisualSVN 服务器)上,并安装了 TortoiseSVN 和 VisualSVN,以便将其集成到 Visual Studio 2008 中。到目前为止,它运行良好,我们使用它来开发我们的主应用程序。
我也听说过有关新版本 AnkhSVN 的好消息,它是开源且免费的。 由于我们刚刚开始使用 Subversion,所以我现在想做出正确的决定。
是否可以从 VisualSVN 切换到 AnkhSVN 而不会遇到太多麻烦? 我可以保留 VisualSVN Server 安装还是也必须切换它? 如果我开始使用 AnkhSVN,TortoiseSVN 会过时吗? 并且,当前版本在 Visual Studio 2008 中可靠吗?
需要明确的是:这与每个开发人员 50 美元无关。 这是为了未来做出正确的决定。 你有什么建议吗?
提前非常感谢!
I am evaluating VisualSVN for me and a small team of developers. I set it up on the server (VisualSVN server) without problems and installed TortoiseSVN and VisualSVN in order to integrate it in Visual Studio 2008. So far, it works well and we use it for the development of our main application.
I've heard good things about the new version of AnkhSVN too, which is open source and free. Since we are at the beginning with Subversion, I want to make the right decision now.
Is it possible to switch from VisualSVN to AnkhSVN without too many hassles? Can I keep the VisualSVN Server installation or do I have to switch that too? Is TortoiseSVN obsolete if I start using AnkhSVN? And, is the current version reliable in Visual Studio 2008?
To be clear: it's not about the 50 US$ per developer. It's about making the right decision for the future. What do you recommend?
Many thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我们正是这样做的:从 VisualSVN 切换到 AnkhSVN。 这次搬家完全没有遇到任何麻烦。 这些插件不存储特定信息,.svn(或_svn)隐藏文件夹与任何 svn 客户端兼容。
Ankh 插件的 1.x 系列非常糟糕:有很多崩溃和烦恼(例如,移动或重命名尚未提交的文件非常困难)。 2.x系列纠正了大部分问题,虽然它仍然没有达到VisualSVN的水平,但我发现它非常适合我们的使用(而且非常免费)。
关于迁移本身,它再简单不过了:我们只是卸载了 VisualSVN,并安装了 Ankh。 只要您的目录处于源代码控制之下,它就可以工作。
唯一常见的事情是,您仍然需要 TortoiseSVN 来完成许多事情,无论是高级任务还是更基本的任务:在资源管理器中创建工作目录和签出比使用 Visual Studio 简单得多。
We did precisely that: switched from VisualSVN to AnkhSVN. The move went without any trouble at all. These plugins do not store specific information, and the .svn (or _svn) hidden folders are compatible with any svn client.
The 1.x series of the Ankh plugin was awful: lots of crashes and annoyances (for example, it was very hard to move or rename a not-still-commited file). The 2.x series corrects most of the problems, and while it still does not attains the level of VisualSVN, I found it very sufficient for our uses (and very free).
About the migration in itself, it couldn't be more simple: we just uninstalled VisualSVN, and installed Ankh. As long as your directory is under source control, it works.
The only common thing is that you still need TortoiseSVN to do many things, be them advanced tasks, or more basic ones: it's much simpler to create working directories and to checkout within explorer than with Visual Studio.
我认为对于更高级的功能,您仍然需要 TortoiseSVN(如导出、重新定位、整个目录操作、锁定等)。 AnkhSVN v2 非常好。 我正在使用两者,没有太多麻烦。
至于设置远程存储库(我不知道 VisualSVN,所以我假设我们正在谈论存储库服务器),您将需要直接从 Subversion 包使用 svnserve。 您可以将其设置为 Windows服务。
I think that for more advanced functionality you will still need TortoiseSVN (like Export, Relocate, whole directory operations, locks etc..). AnkhSVN v2 is very fine. I am using both without much hassle.
As for setting up a remote repository (I don't know VisualSVN, so I assume we're talking about repository server) you will need to use svnserve directly from Subversion package. You can set it up as a Windows service.
AnkhSVN 可与任何 Subversion 服务器配合使用,而 VisualSVN Server 是最容易配置 Windows 的服务器之一。
如果您需要在 VisualSVN 和 AnkhSVN 之间共享项目和解决方案,您应该确保不要将项目连接到 AnkhSVN scc 提供商,否则 VisualSVN 用户将看到警告。 (您可以连接解决方案文件而不会看到 SCC 警告)。
您可以将 AnkhSVN 与任何其他 Subversion 客户端一起使用,但我们将 AnkhSVN 2.0 设计为不需要其他客户端即可正常操作。 通过在其他 Subversion 客户端旁边使用 AnkhSVN 可能会遇到的唯一问题是 AnkhSVN 2.0 仅在真正需要时(就在提交之前)将文件添加到 subversion,以提高性能并允许对文件进行大小写重命名。
AnkhSVN works with any Subversion server and VisualSVN Server is one of the easiest to configure servers for Windows.
If you need to share projects and solutions between VisualSVN and AnkhSVN you should make sure you don't connect your projects to the AnkhSVN scc provider or the VisualSVN users will see warnings. (You can connect the solution file without seeing the SCC warnings).
You can use AnkhSVN side by side with any other Subversion client, but we designed AnkhSVN 2.0 to not require another client for normal operation. The only issue you might see by using AnkhSVN next to other subversion clients is that AnkhSVN 2.0 only adds files to subversion when really required (right before committing), to increase performance and allow case-renaming the file.
Ankh 应该适用于任何 Subversion 服务器,因此它也应该适用于 VisualSVN。
请参阅此处: http://www.visualsvn.com/server/ 它说服务器是与所有客户端兼容。 :-)
Ankh should work against any Subversion server, so it should work against VisualSVN as well.
See here: http://www.visualsvn.com/server/ It says that the server is compatible with all clients. :-)
我使用 VisualSVN 和 Ankh 没有任何问题 - Ankh 适用于任何 Subversion 服务器。 我发现 VisualSVN 和“原始”Subversion 包之间的唯一区别是 VisualSVN 使用 http/https 而不是 svn: 协议。
I am using VisualSVN and Ankh with no problems - Ankh works against any Subversion server. The only difference I found between VisualSVN and the 'raw' Subversion package was that VisualSVN uses http/https instead of the svn: protocol.
我认为这包含相关信息:AnkhSVN 与 VisualSVN
I think this contains information which is relevant: AnkhSVN versus VisualSVN
你可以说我疯了,但这个解决方案对我来说似乎很干净: http://blog.programmerslog.com/ ?p=4。
Garry Bodsworth 提出了使用 TortoiseSVN 的 Visual Studio 设置。 基本上,您不需要手动添加外部工具自定义项,而是导入这些设置即可完成所有操作:Subversion 工具栏、Subversion 菜单和上下文菜单命令。
我认为这将是比安装 AnkhSVN 或 VisualSVN 更简单的解决方案。
Call me crazy, but this solution seems pretty clean to me: http://blog.programmerslog.com/?p=4.
Garry Bodsworth has put forth Visual Studio settings that make use of TortoiseSVN. Basically, instead of adding the external tool customizations by hand, importing these settings does it all for you: Subversion toolbar, Subversion menu, and context menu commands.
I would think that this would be a more simple solution than installing either AnkhSVN or VisualSVN.
我对 Ankh 的体验很糟糕(太多运行时崩溃),但是这是针对旧版本的 Ankh 的,他们可能已经缓解了这些问题。 话虽这么说,首先坚持 a) 有效的方法,然后 b) 你能负担得起的方法。
My experience with Ankh is terrible (too many runtime crashes), however this is for an older version of Ankh and they might have mitigated the problems already. That being said, stick first with a) what works, and then b) what you can afford.
老实说,我不太喜欢 Visual Studio 的任何 SVN 附加组件。 我最终只是自定义了自己的一组宏来完成我需要做的任何事情,并添加菜单项和自定义上下文菜单,用于提交、更新、显示日志等。 我使用 Tortoise 并与命令行工具集成。 这很容易做到,涉及到与 TortoiseProc.exe 的命令行调用集成。 然而,我确信与 svn.exe 或其他基于命令行的 svn 客户端集成也会同样容易。 另外,你还可以获得额外的优势,让它决定你的思考和工作方式,而不是打包的东西。 我将继续使用自定义宏,直到找到一些更好的颠覆集成工具。
Honestly, I didn't like much of any of the SVN add ons for Visual Studio. I ended up just customizing my own set of macros to do anything I need to do, and adding menu items and custom context menus, for commits, updates, show logs and the such. I used Tortoise and integrated with the command line tools. It was easy to do, involving integration with command line calls to TortoiseProc.exe. However, I'm sure that integrating with svn.exe or other command line based svn clients would be just as easy. Plus you get the added advantage of having it set up how you think and work rather than the packaged up stuff. I'll continue to use customized macros until I find some better subversion integration tools.