Subversion与Vault

时间:2008-10-08 11:42:28

标签: svn version-control sourcegear-vault

  

可能重复:
  Any tool to migrate repo from Vault to Subversion?

我目前正在审核从SVN迁移到SourceGear Vault的好处。 有没有人得到建议或链接到两者之间的详细比较? 请记住,我必须移动我当前的源代码控制系统,在SVN的支持下,这个系统非常有用

这是我迄今为止从我自己的调查中发现的一些信息。

我一直在两者之间进行一些时间测试,并且保险库似乎更快地执行大多数操作。时间测试使用与存储库,同一工作站客户端和同一项目相同的服务器。

时间比较

  • SVN
添加/提交 12:30 获得最新版本 5:35 标记/标签 0:01 分枝 N / A - 我不认为SVN中存在真正的分支

添加/提交 4:45 获得最新版本 0:51 标记/标签 0:30 分枝 3:23

(无法正确格式化)

我还找到了一个在线资源,比较了其他一些观点。这是我正在寻找的那种信息。

使用情况比较

  • Subversion只是编辑/合并/提交。 Vault允许您执行任一操作 编辑/合并/提交或结帐/编辑/签到。

  • Vault的外观和行为就像VSS一样,这就是学习曲线 VSS用户实际上为零。

  • Vault有一个VS插件,但它只适用于您要运行的情况 结帐模式。

  • Subversion拥有几乎所有可以想象的操作系统的客户端; Vault有一个用于Windows的GUI客户端和一个用于Mono的命令行客户端。

  • 两者都支持远程工作,因为它们都使用HTTP作为它们 transport(Subversion使用扩展的DAV,Vault使用SOAP)。

  • Subversion安装,特别是使用Apache,更复杂。

  • Subversion有很多第三方支持。保险柜只有几件事。

我的问题

有没有人得到建议或链接到两者之间的详细比较?

13 个答案:

答案 0 :(得分:15)

使用'愤怒'我每天都会在Vault上选择Subversion(使用TortoiseSVN)。

When I went from Subversion to Vault this is what I noticed

  • 通过一个简单的步骤
  • ,无法获得最新的所有我没有改变的东西,开箱即用
  • 无法轻易看到任何已更改的内容
  • 默认情况下,保险库尝试将我未检出的所有内容设为只读
  • 我必须检查一下
  • 加载(库客户端)的速度非常慢,而不是始终存在于资源管理器中
  • 客户端导航比使用资源管理器
  • 更尴尬
  • 更容易与旧版本进行比较
  • 签入时输入评论时拼写检查
  • 一切都变得更快更容易!

显然,其中一些问题取决于Vault的配置方式,但您明白了这一点。

我最终编写了一堆脚本来自动执行Vault无法执行的操作,但即便如此,命令行版本的功能也会受到限制。此外,Vault API未记录在案。

<强>更新
请注意这个过期的日期。自从我写这篇文章以来,这两个产品都发生了变化并且得到了很好的改善。

答案 1 :(得分:12)

我花了几年时间在以前的工作中使用(和管理)Subversion,以及在我目前的工作中使用Vault的最后三年。在这一点上,我迫切希望摆脱Vault并回到Subversion(或者像git或Mercurial这样的工具)。

我们在性能和可靠性方面遇到了很多问题(Vault并不总是选择已经修改过的文件,有时会坚持你没有修改过文件但是这可能会来到我们的存储库的(长)历史以及我们过去如何处理分支。我认为,如果设计得更好,那么这一切都不应该重要,但如果你没有用它做古怪的事情,那么也许你不会遇到我们遇到过的问题。

那就是说,有些基本的设计决定是我无法原谅的:

  • 工作文件夹模型(类似于VSS)过于严格;如果我想在本地检查相同的代码到多个地方,我应该能够
  • 合并工具爆炸
    • 每次我需要合并更改时,我都不需要通过七步向导
    • 无法挑选合并的多个修订
    • 添加/删除的文件未合并到您的工作文件夹中,直到您提交更改意味着您无法在签入前验证一切正常
  • 不等同于“svn switch”;将已签出的文件夹切换为指向存储库中的新位置会使Vault发生故障

最终,Vault是一种比Subversion更不灵活的工具,尽管缺乏灵活性意味着它可以更简单易用。如果你有一群熟悉VSS的开发人员,并且你不需要大量的源代码控制工具,那么Vault可能是个不错的选择。虽然已经习惯了Subversion的灵活性,但我觉得使用Vault是一种挫败感。

答案 2 :(得分:10)

我使用保险库,因此我想纠正功能列表中的一个错误:

  

Vault有一个VS插件,但它只是   如果你要参加,那就有用   结帐模式。

不正确 - 我不确定它添加了哪个版本,但您可以在Visual Studio中的“编辑|合并|提交”模式下运行保管库

我还要补充说,Vault使用MS SQL Server作为它的存储库 - 使备份变得容易。

答案 3 :(得分:8)

Subversion还有VisualStudio插件:

答案 4 :(得分:5)

Source gear网站有一个comparison。不过我也不建议。如果您要迁移到新的存储库,则需要查看分布式版本控制系统。

MonotoneGitBazaar之类的人在生产力方面确实提高了标准。

答案 5 :(得分:4)

Subversion允许您将文件标记为“必须锁定”,在这种情况下,checkout(锁定),checkin(提交自动解锁)工作。 AnkhSVN就像VSS Check in check out一样可视化。

Subversion有:

  • TortoiseSVN适用于Windows资源管理器
  • AnkhSVN,一个免费的Visual Studio SCC提供程序。 (尚未完成,但每天都在变得更好)
  • VisualSVN,TortoiseSVN喜欢集成Visual Studio(商业)
  • SvnBook,一个伟大的在线&amp;免费手册

Subversion将在1.6或1.7中获得更高效的HTTP协议(正在进行中)。这可能会创建一个IIS插件。

请参阅subversion book on branching and merging in Subversion

答案 6 :(得分:3)

Subversion也有锁。但我从来不需要它们。

答案 7 :(得分:3)

Vault内置的一个功能是Subversion没有内置,Vault可以配置为保留文件修改时间戳。这是我真正可以从中受益的功能。作为一种解决方法,Subversion允许配置让它将修改后的时间戳设置为提交时间,这对于我的大多数场景来说已经足够了。为了从中受益,我必须提交,然后删除我的工作副本,然后进行更新,强制时间戳为提交时间戳,以便我可以部署文件并使其时间戳与subversion的时间戳匹配。有建议使用脚本或诸如此类的东西来存储修改后的时间戳在属性中,但我不知道是否有人成功完成了这项工作,如果是这样,我不知道这种解决方法有多扎实。

答案 8 :(得分:2)

  

Subversion有很多第三方支持。保险柜只有几件事。

当Subversion获得第三方支持时,Vault已经购买了第一方支持。根据我的经验,第一手资料(来自制造商)往往优于遍布全球的14个论坛?虽然我们现在有了SO所以这一点可能是静音的。 :)

答案 9 :(得分:2)

有许多与subversion集成的工具(bug跟踪器,持续集成)。对于保险库,没有多少工具支持它。

答案 10 :(得分:1)

SVN具有真正的分支http://svnbook.red-bean.com/en/1.1/ch04.html,分支的处理方式与大多数源代码控制系统不同。

答案 11 :(得分:0)

  

论坛难以搜寻,但提供了许多线索,以便充分利用人们所经历的所有试验和错误。

制造商的评论可能存在偏见,并且不确定他们是否只是尝试提供他们的解决方法。

答案 12 :(得分:0)

Vault可以很好地与Visual Studio实现无缝协作。

对于其他一切,这太糟糕了。

“WebDAV”支持速度非常慢 - 我发现使用Vault Client签出更快,然后切换回Dreamweaver而不是尝试通过WebDAV在Dreamweaver中签出。