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

时间:2020-03-05 18:42:27  来源:igfitidea点击:

我很想听听目前在Windows上运行其SVN服务器的用户的经验。

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

  • 基于Web的存储库浏览器使用什么? WebSVN可以在Windows上运行,但是效果不佳。
  • 如何管理passwd文件?
  • 是否可以在不运行Apache的情况下与Active Directory集成?
  • 备份存储库的策略。
  • 对于Visual Studio开发有用的全局忽略模式(例如,此处,此处和此处的建议)。

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

解决方案

回答

我在我的博客http://tv.inner-rhythm.co.uk/上有相当深入的教程,内容涉及如何在我们公司工作的Apache和Trac上设置SVN。

回答

使用VisualSVN服务器。它与Windows身份验证集成,并且处理所有的Apache设置。它与Windows上的SVN一样轻松。

回答

VisualSVN是必经之路。内置的Active Directory支持非常易于使用。

回答

我使用VisualSVN和Tortoise的组合。它不能与Visual Studio很好地集成在一起,但是我们可以为此使用其他插件/应用程序。

回答

我发现VisualSVN比将SVN作为本机服务运行慢大约50%。我一直以为

那是因为使用Apache通过http://进行访问,这似乎要慢一些

而不是通过本地TCP / IP svn://访问。

在过去的30分钟里,这是我的工作:

  • 将VisualSVN与现有的SVN安装并排安装在端口8080上
  • 将三个现有存储库导入到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%。

还有其他人看到过这种差异吗?仅遵循默认安装选项,我在做错什么吗?

回答

Trac无疑是我使用的最好的基于Web的项目管理软件,它与Subversion集成在一起,因此我们可以查看每个版本的提交和比较的时间表,它允许票证和错误报告,并具有内置的Wiki。

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

对python有一点了解,并且很容易启动和运行(如果在Windows上,请使用tracd服务器:http://trac.edgewall.org/wiki/TracStandalone(此链接将向我们展示如何以Windows服务)。

回答

我认为我们看到了svn协议之间的差异,并将svn协议托管在另一个协议上。
与svn相比,使用svn + ssh时,类似的性能会下降。

易于设置,这对我的团队来说毫不费力,我们只是将它扔到了vm上就可以运行了。

回答

我推荐TortoiseSVN。它将SVN功能添加到Windows资源管理器中。此外,TortoiseSVN还检查我们使用的IDE是否支持SVN。

回答

在apache下运行SVN确实并不难。我们可以使用mod_auth_sspi与活动目录集成。

回答

Rich Strahl刚刚在"运行VisualSVN Server进行Subversion源代码管理"上发布了一个博客条目。值得一读:

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

回答

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

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

回答

VisualSVN服务器+ Trac + TortoiseSVN + Ankhsvn。

完毕。像丝绸一样光滑。什么是Visual SourceSafe。