是否有一个服务器可以用来存储/管理存储库,然后可以通过普通/现代开源(D)VCS(如SVN,Git,Mercurial,bzr等)访问这些存储库并仍然保留与所有人的兼容程度如何?
我们在SVN上有大量用户,有些在Git上,有一些使用mercurial,但目前没有人使用任何过于高级的功能,但是对每个VCS的100%支持并不是优先考虑的事情。使用一台服务器处理这些服务器更为重要,特别是如果用户可以通过SVN办理登机手续,而另一台服务器则通过Git办理登机手续。
答案 0 :(得分:5)
如果您的主要用户是git和SVN,那么您只需使用SVN服务器即可。 Git支持检出SVN服务器并使用git-svn检查更改回服务器。您可能可以使用其他分布式SCM工具获得类似的功能(快速谷歌为它与mercurial显示有一些第三方支持这些功能,而正在考虑本机支持)。
目前,这可能是最简单的解决方案 - 保留SVN服务器并为用户提供使用其偏好工具签出存储库的说明。
答案 1 :(得分:1)
我不明白这个问题。任何linux盒子都可以支持subersion,git,mercurial,bazaar,CVS等等,你只需要安装任何linux发行版并配置每个服务。
答案 2 :(得分:1)
我使用Unfuddle为托管的Git和Subversion存储库提供了很好的体验。您可能可以获得在某些较大的代码托管站点托管其他类型的存储库的支持,但我预计它会花费更多,并且从长远来看使用两种以上不同类型的DVCS管理存储库可能很困难
对于想要使用Git但托管存储库是SVN的开发人员,您应该结帐git-svn(请参阅chapter in Pro Git)。
更新: Codebase提供托管的Git,Mercurial和Subversion。在官方git网站上的Git Hosting下找到它们。
答案 3 :(得分:0)
如果您想询问是否有支持不同版本控制系统的伪造/软件托管站点,答案是:是的,它们是(Savannah,SourceForge,BitBucket,Assembla,Unfuddle,Codebase,...)。虽然我认为每个项目只有一个SCM ......
答案 4 :(得分:0)
请注意,SVN,git和其他工作方式不同,功能也不同。如果您将采用一种解决方案,该解决方案将只具有所有VCS通用的功能 - 可能是讨厌的开发人员,他们选择git / svn / hg作为其特定功能。
您在评论中写道“自由职业者和远程工作者只对某些VCS感到满意” - 这也是我的意思。
有一些解决方法,例如tailor或已经提到的git-svn
和hgsubversion
,但根据我自己的经验,它们效果不佳。