ScalaのOSSでのバイナリ互換とブランチの運用方針
github.com/scalatra/scala… scalatraが依存してるscalazとspecs2のversion上げpull reqでもするか、っていじってたら、どうでもいいバグ見つけるなどをしていた
2016-03-05 19:54:46@seratch_ja @takezoen scalatraのscalazやspecs2のバージョン上げをしようかと思ったけど、2.4.xブランチはバイナリ互換保つ予定なのか(mimaの依存はあるけどtravisでチェックされてない)、
2016-03-05 19:58:12@seratch_ja @takezoen 保つならtravisでmimaチェックかつ、2.5.xブランチ作っておくべきなのか? 気にせずそういうのを、すぐ2.4.xに送っていい(バイナリ互換保たない?)のか、あたりを、何かしていただけるとー
2016-03-05 19:58:55瀬良さん一人にメンションをしようとして、そういえば竹添さんもコミッターだったな、と思いだして巻き込むなど (まぁそもそもissueかgitterで英語で話せというのはある)
2016-03-05 20:01:02@takezoen @xuwei_k まあ bin 互換チェックしなくてもいいかもしれないけど私はチェックするつもりではいました。付随するタスクとか本への互換性とか考えるとあんまり気軽に 2.5 とか言うのは面倒かなという気持ちはあります。
2016-03-05 20:39:48@seratch_ja @takezoen 2.5はやく出したいとは思わないですけど、(scalikejdbcとかもそうだけど)、基本互換維持するブランチがメインだと、互換壊すpull reqどこに出せばいいかわからない状態なの面倒なので、個人的にはscalazみたいにしたいです
2016-03-05 20:42:30@takezoen @xuwei_k あ、本って in action のやつですね。メンテしてくれてる人がいて。xsbt-web-plugin のバージョン上がったらコマンド名の互換性がなくなったとかが意外とインパクトがあったりとかもあったんですよね。
2016-03-05 20:42:49@xuwei_k @takezoen そうですね。それはその通り。個人的にはサブモジュールのメンテナは降りたいので、2.5 系やるなら分割してしまいたい。
2016-03-05 20:44:25@seratch_ja @xuwei_k モジュールは分割したいですね…。後方互換性に関しては個人的には(ユーザの立場としても)APIの後方互換性があればよいのではと思っています。Scalazの場合はブランチはどういう運用されているんでしょうか?
2016-03-05 21:37:01すっかりわすれてたけどScalatra in Actionまだ完成してないのか…。ちゃんとScalatraのバージョンアップにも追従してるみたい。全章揃ってるみたいなのでもう少しだと思うけど、MEAP開始してからもう3年くらい経つんだよなぁ。
2016-03-05 21:40:49@takezoen scalazは、最新の(互換性壊してもいい、次に向けた開発のためのブランチ)をデフォルトにしておいて、通常はそっちでpull req受け付ける、必要なら(可能なら)バックポートする、とかですね。 playframeworkでも、大体似たようなやり方だと思います
2016-03-05 23:08:20今のScalatraのブランチ運用だと、バイナリ互換性を保証しない次のブランチをデフォルトブランチにするとなると2.5.xブランチを切ることになるのか…。それはそれでいろいろ微妙だなぁ。
2016-03-06 20:14:02ある程度長期的なリリース計画がないと次の系統をデフォルトブランチにするっていう運用は難しそうな気がする。プルリクエストは現在のブランチで受け付けてコミッタ側でどこにマージするかを判断するほうが現実的な気がしてきた。
2016-03-06 20:16:36