在Windows上运行SVN有什么经验?

我很好奇听到那些在Windows上运行SVN服务器的人的经验。

Jeff Atwood发表了关于如何将SVN设置为Windows服务的文章 。 这是一个很好的第一步,但它并没有涉及其他主题,如:

  • 什么用于基于Web的版本库浏览器? WebSVN 可以在Windows上工作,但并不漂亮。
  • 如何pipe理passwd文件?
  • 是否有可能与Active Directory集成而不运行Apache?
  • 备份存储库的策略。
  • Visual Studio开发中有用的全局忽略模式( 这里提供了一些build议,例如这里 )。

大约一个月前,我们公司从SourceGear Vault切换到Subversion。 我们已经掌握了基础知识,但是很想发现人们在MSFT世界中运行SVN的技巧和窍门。

使用VisualSVN服务器 。 它与Windows身份验证集成,并处理所有的Apache安装程序。 像SVN可以在Windows上一样简单。

VisualSVN是要走的路。 内置的Active Directory支持非常易于使用。

我发现VisualSVN比运行SVN作为本地服务要慢50%左右。 我总是假设

这是因为通过http://访问Apache,这看起来好像要慢一些

比通过svn://,这是本地TCP / IP访问。

本实验

在过去的30分钟里,我做了以下工作:

  • 在端口8080上安装VisualSVN,与我现有的SVN安装并行
  • 将三个现有的回购导入VisualSVN
  • 踢了服务器上的其他人
  • 并排比较了一个完整的svn结帐

结果

Repo 1: 652 files, 273 directories, 60.1MB 23 seconds for VisualSVN over http:// 16 seconds for SVN over svn:// Repo 2: 4623 files, 964 directories, 127.9MB 2 minutes, 18 seconds for VisualSVN over http:// 1 minute, 30 seconds for SVN over svn:// 

这是在相同的硬件,完全相同的存储库。 我喜欢VisualSVN是多么容易,但是AD集成和GUI不值得50%的性能。

其他人看到这种差异? 我只是跟着默认的安装选项做错了吗?

我使用VisualSVN和乌龟的组合。 它不能很好地与视觉工作室整合,但你可以使用其他的插件/应用程序。

Trac当然是我使用的最好的基于web的项目管理软件,它与颠覆集成,所以你可以看到每个版本提交和差异的时间表,它允许门票和错误报告,并有一个内置的维基。

http://trac.edgewall.org/wiki/TracOnWindows

有一点python知识,它很容易起床和运行(如果你在Windows上,使用tracd服务器: http : //trac.edgewall.org/wiki/TracStandalone (这个链接将告诉你如何安装它一个Windows服务)。

我推荐TortoiseSVN 。 它将SVN功能添加到Windows资源管理器中。 另外TortoiseSVN检查你正在使用的IDE是否支持SVN。

Rich Strahl刚刚发布了关于为Subversion源代码管理运行VisualSVN服务器的博客文章。 值得一读:

http://west-wind.com/weblog/posts/480534.aspx

为了备份,我写了一个批处理文件和一个每周运行一次的VBScript作为一个计划任务的组合。 它:

  • 扫描文件系统上的特定文件夹,递归地寻找SVN库(我们有许多小型库,因为我们发现一个超级库很快变得难以维护,与TortoiseSVN一起使用时速度变得难以忍受);
  • 在每个找到的存储库上使用svnadmin hotcopy来创建备份;
  • 7将所有备份压缩到一个归档中;
  • 在SAN上安装一个共享并复制该存档;
  • 删除所有的临时文件;
  • 通过电子邮件发送“成功”通知。

VisualSVN server + Trac + TortoiseSVN + Ankhsvn。

完成。 丝绸般光滑。 什么Visual SourceSafe应该是。

我认为你看到svn协议和svn协议托管在另一个协议上的区别。
使用svn + ssh与svn相比时,性能会降低。

设置的简易性,使我们的团队无可挑剔,我们只是把它扔在一个虚拟机上跑了。

在apache下运行SVN并不难。 你可以使用mod_auth_sspi来与活动目录集成。