简体   繁体   English

我可以使用一个服务器来存储/管理SVN / Git / Hg / etc的版本控制吗?

[英]Is there a single server I can use to store/manage version control for SVN/Git/Hg/etc?

Is there a single server I can use to store/manage repositories which could then be accessed by the common/modern open-source (D)VCSs such as SVN, Git, Mercurial, bzr, etc and still keep a good level of compatibility with all of them? 我是否可以使用一个服务器来存储/管理存储库,然后可以通过通用/现代开源(D)VCS(例如SVN,Git,Mercurial,bzr等)访问这些存储库,并且仍保持与之的良好兼容性他们全部?

We have a large number of users on SVN, some on Git, and a couple using mercurial but none are using any overly advanced features at the moment, but hitting 100% support for each VCS isn't a priority. 我们在SVN上有大量用户,在Git上有一些用户,并且有几个使用Mercury,但目前还没有人使用任何过分高级的功能,但是要获得每个VCS 100%的支持并不是一个优先事项。 Coping with them all with one server is more important, especially if users can check in via SVN while another checks out via Git. 使用一台服务器应对所有这些问题更为重要,尤其是当用户可以通过SVN签入而另一台通过Git签出时。

If your main users are git and SVN then your can simply use an SVN server. 如果您的主要用户是git和SVN,那么您只需使用SVN服务器即可。 Git supports checkout of an SVN server and checking changes back into the server using git-svn. Git支持签出SVN服务器,并使用git-svn将更改签回到服务器中。 You can probably get similar functionality with the other distributed SCM tools (a quick google for it with mercurial shows there is some third-party support for such features while native support is being considered). 您可能可以使用其他分布式SCM工具获得类似的功能(通过谷歌浏览器快速浏览并看到一些第三方支持此类功能,同时正在考虑本机支持)。

For now, that is probably the simplest solution - keep an SVN server and supply instructions for your users to checkout the repository with their favoured tool. 目前,这可能是最简单的解决方案-保留一台SVN服务器并为用户提供说明,以使用他们偏爱的工具检出存储库。

I don't understand the question. 我不明白这个问题。 Any linux box can support subersion, git, mercurial, bazaar, CVS and more, you just have to install any linux distribution and configure each service. 任何Linux机器都可以支持Subersion,Git,Mercurial,Bazaar,CVS等,您只需安装任何Linux发行版并配置每个服务即可。

I've had a good experience using Unfuddle for hosted Git and Subversion repositories. 我对托管Git和Subversion存储库使用Unfuddle有很好的经验。 You can probably get support for hosting the other types of repositories at some of the larger code-hosting sites, but I'd expect it'll cost more and managing repositories using more than two different types of DVCS could be difficult in the long run. 您可能会在一些较大的代码托管站点上获得支持托管其他类型的存储库的支持,但我希望这样做会花费更多,从长远来看,使用两种以上不同类型的DVCS管理存储库可能会很困难。

For developers who want to use Git, but the hosted repository is SVN, you should checkout git-svn (see the chapter in Pro Git ). 对于想要使用Git但托管存储库是SVN的开发人员,您应该签出git-svn (请参阅Pro Git中章节 )。

Update: Codebase offers hosted Git, Mercurial, and Subversion. 更新: 代码库提供了托管的Git,Mercurial和Subversion。 Found them under Git Hosting on the official git website. 在官方git网站上的Git Hosting下找到了它们。

If you wanted to ask if there are forges / software hosting sites that support different version control systems, the answer is: yes, they are (Savannah, SourceForge, BitBucket, Assembla, Unfuddle, Codebase,...). 如果您想询问是否有支持不同版本控制系统的伪造/软件托管站点,答案是:是的,它们是(Savannah,SourceForge,BitBucket,Assembla,Unfuddle,Codebase等)。 Although I think it is one SCM per project... 尽管我认为每个项目只有一个SCM ...

Note that SVN, git and others work in different ways and have different features. 请注意,SVN,git和其他人以不同的方式工作并且具有不同的功能。 If you will settle on one solution, that solution will only have features that are common to all VCS -- probably annoying developers who chose git/svn/hg for their specific features. 如果您选择一种解决方案,那么该解决方案将仅具有所有VCS共有的功能-可能会讨厌选择git / svn / hg作为其特定功能的开发人员。

You wrote in comment that "freelancers & remote workers who are only comfortable certain VCSs" -- and that's what I mean too. 您在评论中写道:“自由职业者和远程工作者只能适应某些VCS”,这也是我的意思。

There are some workarounds, like tailor or already mentioned git-svn and hgsubversion , but from my own experience they don't work very well. 有一些变通办法,例如“ 裁缝”或已经提到的git-svnhgsubversion ,但是根据我自己的经验,它们不能很好地工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 是否存在与大多数版本控制系统兼容的版本控制gui(git,svn,hg,cvs,也许是bzr) - Does there exist a version control gui that is compatible with most version control systems (git, svn, hg, cvs, perhaps bzr) 如何在SVN,Hg或Git中标记一组更改/更改集 - How can I mark a group of changes/changesets in SVN, Hg, or Git git svn - 我可以同时使用git和svn吗?不需要git和svn之间的交互 - git svn - Can I use git and svn at the same time? no need interaction between git and svn 我可以将GIT存储库与SVN客户端一起使用吗? - Can I use a GIT repository with SVN clients? “Hg到Hg(Gateway)到SVN”与“Git to Git(Gateway)到SVN”相比 - “Hg to Hg (Gateway) to SVN” compared to “Git to Git (Gateway) to SVN” 如何在家里有2个开发人员的小型网站上使用SVN作为版本控制? - How can I use SVN as version control for developing small website with 2 developers at home? 如何使用SVN管理Firefox扩展项目? - How can I use SVN to manage my Firefox Extension project? 首先使用git还是通过SVN学习版本控制? - Learning version control with git first or via SVN? 了解版本控制系统,Git,SVN - Learning about version control systems, Git, SVN Web开发问题的基本版本控制-单个开发人员。 (SVN / GIT) - Basic version control for web development questions - Single developer. (SVN/GIT)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM