我正在评估让我们的团队远离CVS的各种选择.我们在另一个使用Subversion的站点上有另一个大型团队,我们的一些开发人员使用Subversion服务器.因此,Subversion是我们团队的明显选择.然而:
涉及Subversion服务器的操作可能很慢(尽管我们在站点之间有良好的连接).
我们很多人都是出于分布式版本控制的想法,并广泛使用Mercurial或git(然后合并并提交给CVS并从中获取更改)
git-svn看起来很有趣,但我想知道的是,通过在Subversion中拥有一些集中式分支,丢失了诸如git等DVCS的功能.特别是,我仍然希望能够保持Mercurial的工作流程,例如:
我们可以拉出其他团队成员的存储库并合并,然后在功能分支上进行协作,然后再转到我们在Subversion上的主要稳定中继线吗?
我们可以期待git通常可以使用的大量技巧,还是我们需要小心避免混淆git-svn?
我们是否可以使用git加速来自Subversion的检查,方法是将其从其他站点拉过一次连接,然后将其拉入单个存储库一次.
如果有人提交Subversion,我们可以安排其他git用户通过git-svn仍然可以看到完整的开发历史吗?
我们基本上可以避免等待Subversion服务器上的交互操作,尽管它有一半的延迟世界吗?
我们中的许多人已经习惯了一个主要相当稳定的共享分支的概念,它具有简单的线性历史记录,每个人都可以推送,因此它们会定期合并到提示中.我不清楚如何使用git(或Mercurial或Bazaar)很好地支持这项工作流程.