近日,Google Code开始支持Git仓库。此前,Google Code只支持Subversion与Mercurial仓库,这是根据一项追溯到2008年的调查结果得出的,随后发布了官方声明。
随着GitHub的不断流行以及使用GitHub存储的项目数量的不断增加,同时Eclipse Labs托管逐步被GitHub的双向同步所取代以及Juno Git迁移的不断进行,很多人会因Google Code不支持Git仓库而要离开。一个支持FAQ表明开发者们需要“smart http”协议(需要使用1.6.6版的Git)。此外,Eclipse Labs也已经获得了Git支持。
从某种程度上说,使用Mercurial是因为Google现有的Python基础设施以及它能以比Git更简单的形式适应于GFS后端。然而,随着Eclipse Indigo的发布并包含了JGit 1.0,Google现在可以通过更加与时俱进的前端来集成其后端。此外,Git现在还有其他几个绑定,比如更加开放的libgit2,它本身已经衍生出了几种语言分支,如pygit2,这会将Git的互操作带到Python语言中。
Google并没有明确提到后端使用何种实现,但前端的反应却是很快的。如果你有Google Code项目,那么你就可以创建Git仓库了。对于新项目来说亦是如此,系统会提示你选择何种仓库。
现在看来Google Code将会继续支持Mercurial与Git,但SVN的时日似乎已经不多了。唯一一个前景尚不明朗的选手就是Bitbucket了,它被Atlassian收购还不到一年。尚在使用Mercurial的唯一一个重要选手就是位于hg.java.net的OpenJDK,它最初是由Sun创建的开发生态圈。
无论背后的实现与原因是什么,Google Code支持Git仓库将会促使Git成为新项目及现有开源项目所采用的事实上的仓库标准。
更新:现有项目可以转换到Git仓库。然而,项目的Wiki内容也存储在版本控制仓库当中;对于SVN来说,在/wiki目录下,对于Git或Hg来说,在单独的域wiki.projectname.googlecode.com/git(或/hg)下。因此,当从一种仓库格式转换为另一种时,你需要确保迁移Wiki页面,因为他们并不会自动迁移。建议使用Google Code保存wiki/issues,但却使用GitHub保存源代码的项目在转换前为wiki(比如说使用Git svn clone)制作一份本地的Git副本,这样可以将wiki页面无法访问的时间降到最低。
原文:http://www.infoq.com/cn/news/2011/08/google-git
【编辑推荐】