Mac上Git UI工具GitX
Tuesday, January 12th, 2010偶然发现Mac上的Git UI工具GitX,是一款开源的软件,托管在github.com上,地址是http://github.com/pieter/gitx。一直都是在Mac上用命令行操作,也从来没有觉得不方便。但是UI的工具总是会有利于Git这样的工具推广,不是所有的人都会跑到Terminal上去敲敲命令的。Git的相关工具和插件还不多,这也是Git一直不温不活的原因吧。
偶然发现Mac上的Git UI工具GitX,是一款开源的软件,托管在github.com上,地址是http://github.com/pieter/gitx。一直都是在Mac上用命令行操作,也从来没有觉得不方便。但是UI的工具总是会有利于Git这样的工具推广,不是所有的人都会跑到Terminal上去敲敲命令的。Git的相关工具和插件还不多,这也是Git一直不温不活的原因吧。
打算翻译Git Community Book这本社区版的Git书籍,刚开头组织翻译的工程就着实折腾了一番。
先是在github.com建了一个Repository来保存版本过程,然后将书的index和第一章的html下载下来加入到Repository,修改了里面的Link为绝对路径就准备开始动手翻译了。
在Open Party的活动中听了杜文山关于Sphinx的Session,觉得应该按照工程的方式来组织文档。回来后仔细的看了Git Community Book,找到作者是使用Ruby的rake来做,整个工程都托管再github.com的Gitbook Repository。于是把它的整个工程都搬到我的Repository中,从作者的版本开始工作。
作者的README文件中简单讲述了如何使用的rake命令生成html的文档。由于我没有任何Ruby环境的安装经验,所以从Ruby安装开始到编译成功还是折腾了几许时间。由于刚刚把T43安装了最新的Fedora 11(准备研究这个版本 CouchDB的编译安装),所以以下所有过程均是Fedora环境上测试通过的(所有的命令都是在root环境执行),其它的系统仅供参考。
先是安装Ruby和相关的几个包:
yum install ruby ruby-devel ruby-docs ruby-irb ruby-ri rubygems其中rubygems是Ruby的一个library管理工具,用起来感觉和apt、yum差不多;ruby-devel,gem在本地编译一些库时会用到Ruby的头文件和Library。
然后跟随作者README开始安装rake和其它几个Library:
gem install rake ultraviolet discount rdiscount builder这里正常安装的只有builder这个Library,其它的包在编译的时候报错:
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/oniguruma-1.1.0 for inspection.
由于缺少oniguruma这个正则表达式的Library,安装失败了。需要用yum安装这个它:
yum install oniguruma oniguruma-devel重新执行gem的安装命令就可以了。需要注意的是你要先安装gcc相关的几个包,系统才有编译的能力。
到Repository目录下执行rake html就可以看到章节的输出,同时在output的目录里面能看到html输出的结果。
Git的官网链接了一本社区写的教程:《Git Community Book》。这本教程的source是host在github.com上,如果像我一样想自己修改一下,编译一份新的教程可以在github.com上pork gitbook的仓库,这样就有一份自己修改的版本库了。clone到本地后,需要安装ruby的几个库才能正常编译一个输出的版本。
由于ultraviolet依赖于oniguruma这个正则表达式的Library,所以本地需要先安装oniguruma的C库,才能在gem安装oniguruma的ruby封装库时编译通过。
emerge -avt dev-libs/oniguruma gem install rake ultraviolet discount rdiscount builder
安装完成后,再gitbook的目录中执行rake html就可以编译出一个html版本的《Git Community Book》了。
P.S.
如果是Snow Leopard或者Leopard的Apple系统,就算是用port安装了oniguruma也不能正常用gem安装oniguruma。这是因为port安装的时候将库文件都放在自己的/opt目录下组织了,gem安装的时候不找这个path。这时需要ln一下到系统的Library里面就可以:
ln -sf /opt/local/include/oniguruma.h /usr/include ln -sf /opt/local/lib/libonig.2.0.0.dylib /usr/lib ln -sf /opt/local/lib/libonig.2.dylib /usr/lib ln -sf /opt/local/lib/libonig.dylib /usr/lib
用port搜索oniguruma会有几个版本,我测试的是5.9.1没有问题。
————————-2009年8月8日更新———————————–
以上测试均使用系统自带的Ruby 1.8版本完成,如果用port升级到1.9.1会有兼容性问题。升级需谨慎…
————————-2009年8月9日更新———————————–
@Hooopo在Twitter上给我解释了Ruby 1.9.1兼容性的问题:’ 1.9不需要安装oniguruma的,oniguruma是弥补1.8.6内建正则的缺陷。1.9的内建正则已经很强大了。