GitHub には Trac みたいな BTS がついてないので、外部の BTS をつかってバグ管理をすることになります。 Lighthouse なんかと連携してもおしゃれですが、ぼくの場合はオフラインで開発をしてることが多いので Ditz を愛用しています。そんな Ditz のチケットを、 GitHub サイトで表示させることができた ので、やり方をシェアしておきます。
やり方
Github には GitHub Pages という機能があります。これは、 GitHub に push した web コンテンツを GitHub のドメインで表示できるというもの。
そして、 Ditz には ditz html で release や task の一覧を HTML で出力する機能があります。これらを組み合わせましょう。
1. GitHub page をつくる
GitHub Pages::Project Pages で書かれている方法にしたがって、プロジェクトのページをつくります。早く言えば、 origin/gh-pages tree をつくって push するだけ。最初に push してから GitHub に反映されるまでは 10分くらいかかるので、次のステップを進めておきましょう。
例: github.com/mootoh/milpon@gh-pages
2. Ditz でコンテンツを静的生成する
ditz html [output-dir] で、 release や task の一覧がまとめられたファイル群を生成します。できたら、 checkout gh-pages && add output-dir && commit && push origin gh-pages で GitHub に反映。
3. That’s it!
もうできてしまっています。かんたんですね!
例: mootoh::milpon::ditz
ToDo
- 自動化 : 定期的に ditz html するようなしくみを作る (cron?)
- Ditz の HTML に、 issue 登録のしくみを入れる (どうやるんだろう)
Happy Ditz & GitHub hacking!
あわせて読みたい
2008.08.30 追記: 買いました。
送料込みの単価は ¥2,475 になりました。
受け渡しのときにくださいな。
Github Tシャツ なるものがあるらしいです。
かっこいい! 背中にIDを油性ペンで書き込むのだ!!
で、値段は $22 なのですが送料が $11 かかります。
安いもんなんですが、ちょっとでも節約したいですよねJK。
いっしょに買いませんか?
数人あつまったら決行しましょう。
受け渡し
なにかの勉強会/カンファレンスのときに受け渡してもよいですし、受け渡し会をやってもよいです。
方法
gist:7099 を fork してください。
2008.08.26 追記: gist がなんだか調子悪いので、コメントくださるかはてぶるなどして参加表明ください。
賛同者
Twitterで深夜に呼びかけて4人集まりました。Twitterすごい。
2008.08.26 追記: 2345名捕獲しました。
いちいちエントリに加筆するのは面倒なので Google Spreadsheet にしました。
CodeReposをありがたく使わせてもらっているけど、githubにも同じコードを置きたい、ということがよくありますよね。あるんです。以下はそのときのためのメモ。
プロジェクトを始めるとき
- CodeReposにファイルやディレクトリ一式 (X) をつくってcommit
- githubにレポジトリをつくる。(自分用のclone URL を Yとする)
- git svn clone で CodeReposにつくった一式 (X) をcheckout
- checkoutしたディレクトリで、git remote add github Y
- git remote push github
この手順でやればOK。
先にCodeReposでcommitしておいてからgit svnでcheckoutというところがミソなのかなと。
例
refe2-vim というプロジェクトをはじめることを考えます。
- mkdir $CODEREPOS/lang/vim/refe2-vim (X)
- create new github repository → http://github.com/mootoh/refe2-vim/ (Y: git@github.com:mootoh/refe2-vim.git)
- git svn clone http://svn.coderepos.org/share/lang/vim/refe2-vim
- cd refe2-vim
- git remote push github
だいたいこんなかんじ。
日々commitするとき
- ローカルに commit
- CodeReposにcommit (git svn dcommit)
- github にpush (git remote push github)
でOK。
ToDo: Mercurialも混ぜてみる