24 Pull Requests 達成した。
Happy Holidays に辿り着いた。明日も仕事だけどな。https://t.co/ugqnGm4mIC pic.twitter.com/xdIvzTyhQs
— Koichi ITO (@koic) 2016年12月19日
内訳としては、Unify Fixnum and Bignum into Integer まわりの PR が多かったと思う。
いつも通り定番となっている ghq + gem-src で管理しているリポジトリ群を対象に対応していた。内訳で多かった PR の元としていた手順は以下。
自分の場合は rbenv global 2.4.0-dev
としているので、だいたい Ruby 2.4.0 に向けた新しめの開発版を使っている前提。
- 手元にある ghq root 配下のリポジトリに対して The Silver Searcher を使った
ag Fixnum
による串刺し検索をして対象のリポジトリに移動する git pull origin master
で最新のソースコードを取得してbundle install
する- .travis.yml があればそれを参考に既存コードでテストを流す (だいたい
bundle exec rake
となる) 。ここでたぶんwarning: constant ::Fixnum is deprecated
という警告が出たりする。 Fixnum
をInteger
に置き換える。自分の場合は自前の replace_text を使ってreplace_text Fixnum Integer
で一括変換するのが基本- 同一リポジトリに
Bignum
があればいい感じに統合しておく - 変更したコードでテストを流す。既存のテストがパスして、出力されていた
warning: constant ::Fixnum is deprecated
が消えていれば OK - Ruby 2.3 以前の安定版を使った際にリグレッションがないかもテストする
- あとはいつもの PR 作成手順で、Fork したリポジトリの URL を
git remote add upstream #{URL}
して、コミットしたトピックブランチをgit push upstream #{branch_name}
して PR にする
ケースによるけれど、Unify Fixnum and Bignum into Integer については、基本線としてだいたいこんな流れでやっていたのが多かったと思う。想定外のエラーが出たら都度見る感じ。
手元の未対応分についても順次やっていく気持ち。