git.jsを使ってみる
node.jsを使える環境を整える
7/28時点の最新版をダウンロードして利用する。
0.5.2(Unstable)
インストール先は/usr/local/node/0.5.2にする。
# wget http://nodejs.org/dist/v0.5.2/node-v0.5.2.tar.gz # tar xvzf node-v0.5.2.tar.gz # cd node-v0.5.2 # mkdir /usr/local/node # ./configure --prefix=/usr/local/node/0.5.2 Checking for program g++ or c++ : /usr/bin/g++ Checking for program cpp : /usr/bin/cpp Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for g++ : ok Checking for program gcc or cc : /usr/bin/gcc Checking for gcc : ok Checking for library dl : yes Checking for openssl : yes Checking for library util : yes Checking for library rt : yes Checking for CLOCK_MONOTONIC : yes Checking for fdatasync(2) with c++ : yes 'configure' finished successfully (1.590s) # make ・・・略 # make install # export PATH=$PATH:/usr/local/node/0.5.2/bin # node --version v0.5.2
rakeを使えるようにする
どうやらrakeコマンドを実行してgit.jsを稼働させる必要があるようなので、
rubyを入れてrubygems入れて、rakeをインストールしておきます。
# yum install ruby # wget http://rubyforge.org/frs/download.php/75172/rubygems-1.8.6.zip # unzip rubygems-1.8.6.zip # cd rubygems-1.8.6 # ruby setup.rb # gem install rake
また、thinも稼働させる必要があるようなのでthinインストール
# gem install thin Fetching: rack-1.3.2.gem (100%) Fetching: eventmachine-0.12.10.gem (100%) Building native extensions. This could take a while... ERROR: Error installing thin: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/eventmachine-0.12.10 for inspection. Results logged to /usr/lib64/ruby/gems/1.8/gems/eventmachine-0.12.10/ext/gem_make.out
ruby-develが不足しているのでインストール
# yum install ruby-devel
# gem insatll thin 無事成功
git.jsを動かす
ソースコードをgithubから取得。
https://github.com/danlucraft/git.js
とりあえずdemoっていうのを動かしてみます。
# cd git.js # rake demo # rake demo packaged lib/git.min.js * visit http://localhost:9292/repo-viewer/index.html * serving git repos from /root/git.js/git.js/demos/serve. * Add more (bare) repos here to view them in repo-viewer. (SMALL repos work best) >> Thin web server (v1.2.11 codename Bat-Shit Crazy) >> Maximum connections set to 1024 >> Listening on localhost:9292, CTRL+C to stop
デフォルトだとlocalhostの9292ポートで稼働するので、
変更したい場合はRakefileの下記箇所を変更
#exec("thin -R demos/config.ru -p 9292 start") exec("thin -a ホスト名 -R demos/config.ru -p ポート番号 start") end
これで指定したホスト名、ポート番号で稼働します。
ブラウザからこのURLにアクセス(http://ホスト名:ポート番号/repo-viewer/index.html)
ホスト名やポート番号を変更していると、何も表示されていないので、「HTTP clone url」の欄に正しくホスト名とポート番号を指定します。
最初に起動した段階でgit.jsのリポジトリが配置されるようなのでその情報を確認することができます。
リポジトリの配置先は、git.js/demos/serve以下です。
ここの中にブラウザから見たいリポジトリを配置すればgit.js画面で確認することができます。
例えば、/var/git/test.gitをgit.jsで見たい場合、
シンボリックリンクをgit.js/demos/serve以下に作ってあげるといいかと思います。
# ln -s /var/git/test.git git.js/demos/serve/test.git
こうすることで「HTTP clone url」に「http://ホスト名:ポート番号/test.git」と指定し、Branchを選択するとdiffの状況やコミット履歴を見ることができます。
こんな感じです。