たごもりすメモ

コードとかその他の話とか。

るりまにpullreqを送る方法、1から10のはなし

Rubyを書いている人ならきっと一度以上はお世話になっているRubyリファレンスマニュアル、通称「るりま」。
これが前まではsvnリポジトリ管理+修正はredmineでチケットを切って依頼、みたいなすげーダルいフローでなんか見付けても依頼が面倒で面倒で面倒で諦めていたんだが、これがなんとgithubに! やった!!!!!!

https://github.com/rurema
https://github.com/rurema/doctree
https://github.com/rurema/bitclust

ということで一度pullreqを送ったんだけど、すこし注意が必要だったのでここにメモる。みんな真似してどんどんpullreq送ろう!

手順

以下の通り。

  1. doctree リポジトリをforkしてclone
    • pullreq送るために自分のアカウントでforkして、それをcloneして手元に
    • cd して bundle install しておく
    • そのあと bundle exec rake すると /tmp 以下に db-1.8.7, db-1.9.3, db-2.0.0 というディレクトリができる
    • これがリファレンスを格納しているデータベースディレクトリ
  2. bitclust をclone
    • これはそのまま git:// のものをcloneしてくれば*1いいはず
    • cd して bundle install しておく
    • その後、このディレクトリで以下コマンドを叩き、データベースディレクトリへのシンボリックリンクを生成する
      • ln -s /tmp/db-1.8.7
      • ln -s /tmp/db-1.9.3
      • ln -s /tmp/db-2.0.0
  3. doctree リポジトリの refm/api/src/ 以下で修正対象のファイルを探し、修正
    • ドキュメントファイルはrubyソースコードの言及対象ファイルに準拠してるっぽい、頑張って探そう
    • 文法もよくわからん、なんとなくがんばって直そう
    • 修正したら bundle exec rake するとデータベースの内容が更新される
  4. bitclustで修正した状態のものをブラウザ表示
    • bitclust のディレクトリで bundle exec rackup config.ru する
    • http://localhost:9292/ を開くとリファレンスがブラウザで見られるので、修正した内容を確認
      • 記述が間違ってないか、リンクがきちんと飛べるか、などなど
  5. 確認後、commit & push して pullreq

これで誰でも見付けた間違いを、いつもの作業ばっかりで簡単に直せる! YATTA!

*1:大抵の場合は