Hg代码管理转换Git代码管理-方便xcode使用Git

最近搞iphone开发,iphone开发使用xcode是好必然的。虽然有其他开发工具,例如appcode。不过我觉得还是原生的xcode比较好。特别是查看帮助的时候非常方便。加上appcode这个工具是java开发的。运行速度不乐观。还有些开发者是vim+插件,我就真的不想折腾vim+插件。所以我老老实实用xcode。

xcode在在代码管理方面集成了svn和git的。svn现在来算已经是老古董了。所以使用git是必然的。不过公司使用的居然是Hg代码管理。这就真的难为了xcode了。由于xcode不支持Hg。虽然可以用其他图像化Hg软件来进行管理,例如SourceTree(支持Git和Hg)、MacHg。在代码对比与版本对比都没有使用xcode那样直观方便,可以边对比边修改开发。在xcode哪里非常方便查找出某一段代码是什么时候添加上去的。由谁添加的。当时代码提交的注释都会详细显示出来。这个功能非常实用。

现在需要把hg的代码库转换成git的代码库。

转换方式有:

1、一次性转换。把hg的代码库转成git的代码库。以后都用git代码库。

大家可用hg-fast-export 脚本

$ git clone git://repo.or.cz/fast-export.git

不过这个对于我来说不是一个好方面,因为你不能够要求公司以后都改用Git来管理。

2、使用插件把Hg转换成git。服务端为Hg,客户端数据为git的。

找了一下,发觉有一个比较有名的插件Hg-Git mercurial plugin。 不过是服务端是Git,客户端是Hg。与我的需求相反的。虽然在github.com上有几个Git-Hg的插件。当时看了一下说明好像都是在Hg-Git上修改的。而且都是只读单向的。即可以从Hg服务器上clone成Git的代码库,还可以pull新的更新。当是客户端的git代码库有文件修改后是不能push上Hg服务器的。

有点杯具啊。不过我认真研究Hg-Git后。发觉他可以把一个现有的hg项目推送一个空的Git服务。这样又出现一个新希望了。上网再搜索了一下,果然有人和我的想法有点相同。大家请点这里, 我的应用可能比他再复杂一点。

继续阅读“Hg代码管理转换Git代码管理-方便xcode使用Git”