githubのscala(処理系)へのpull request

Scalaの開発が、少し前にgithubに移行したのと、@xuwei_k さんに煽られたので、バグ報告だけじゃなくて、修正して、pull requestを送ってみました、という話。どちらかというとメモのまとめみたいな。足りないTweetがあったら適当に追加してください。
3
正義のヒーロー @kijuky

改めて書くと、Scala2.9.1で、Stream#permutationsを呼び出すと、順列の反復子は得られずに、要素が重複した、変な反復子が返る。

2012-01-15 02:15:03
kmizu @kmizu

@kijuky どういう例でおかしくなりました?簡単な例で実験してみた感じ、うまく行くように見えますが。 https://t.co/hwqwlUNk あと、permutationsはStreamで個別に実装されてるわけじゃないので、Streamでだけおかしくなるのも妙な気が。

2012-01-15 02:29:27
kmizu @kmizu

@kijuky あー、なるほど。確かにこれはバグってますね。情報ありがとうございます。 https://t.co/OP6Mm9Cd #scalajp

2012-01-15 02:37:57
kmizu @kmizu

@kijuky 了解です。じゃあ、適当に再現コードポストして報告しておきます。

2012-01-15 02:46:29
Kenji Yoshida @xuwei_k

Streamの場合SeqLikeのものが呼ばれてて、このあたりだろうか https://t.co/PA0fSDnd https://t.co/ZH2SHKOd 誰かforkして修正してpull request送るんや!

2012-01-15 02:48:52
kmizu @kmizu

@kijuky とりあえず、Stream#permutationsの件、バグ報告しときました。 https://t.co/TyMk9ac0 #scalajp

2012-01-15 03:20:50
kmizu @kmizu

久しぶりにバグ報告書いた気がする(かなりテキトーだが)。JIRAになってから、preformatted textが書きやすくなってるのは良いな。 #scalajp

2012-01-15 03:23:47
kmizu @kmizu

まあ、例によって英語が拙い気がするけど、キニシナイ(いやまあ、もうちょっとましな英語書くべきかもだが)。 #scalajp

2012-01-15 03:25:05
kmizu @kmizu

@xuwei_k とりあえずforkだけしました。明日/明後日くらいに時間あったら修正して pull request送ってみます。

2012-01-15 03:30:39
kmizu @kmizu

PermutationsItr の問題の箇所 https://t.co/LDCthfVk 改めて見て、デバッグプリント差し込んでみたが、遅延評価が悪さしてるな。これだと、swapが後から起こってしまうので、結果がおかしくなる。 #scalajp

2012-01-16 22:03:30
kmizu @kmizu

とりあえず、こんな感じ https://t.co/82nwfKHf で一応修正できた?elemsはArrayBufferだからこの時点でListに変換してからStreamに追加しても問題無い…はず。 #scalajp

2012-01-16 22:21:17
kmizu @kmizu

Stream#permutationsのバグに対する修正、先日 pull requestしたが、Paul Phillipsさんから https://t.co/GS3h4QZl というご返事が。確かに、テストケース付けろってのは当たり前の話ではある。 #scalajp

2012-01-18 00:45:35
kmizu @kmizu

逆に言うと、ちゃんとテストケース付けてれば、pull request飛ばしても取り込んでもらえる可能性があるわけで、バグ報告して待つしかなかった前より状況は良くなってるな(正直、いきなりpull request送るのに不安があった)。テストケース追加しよう。 #scalajp

2012-01-18 00:52:27
alphaneet @alphaneet

RT @kmizu: Stream#permutationsのバグに対する修正、先日 pull requestしたが、Paul Phillipsさんから https://t.co/GS3h4QZl というご返事が。確かに、テストケース付けろってのは当たり前の話ではある。 #scalajp

2012-01-18 00:55:07
kmizu @kmizu

テストケース追加のために、test/files/run 見てる。なるほど、バグIDとファイル名(拡張子を除いたもの)を一致させてるのね。で、.checkファイルは標準出力の出力結果をチェックしてると。 #scalajp

2012-01-19 01:21:07
kmizu @kmizu

SI-5377 https://t.co/TyMk9ac0 の修正のためのテストケース、手元で追加してみてる。 #scalajp

2012-01-19 02:07:08
kmizu @kmizu

テストケース追加して、再度pull requestしてみた。さてさて。 #scalajp

2012-01-19 04:36:29
kmizu @kmizu

SI-5377のバグの件、テストケース付けて再度pull requestしたら、"Nice through!" とコメントがあって、取り込まれた。Scalaへの初めてのpull requestの顛末でした。 #scalajp #scala

2012-01-19 10:11:18
kmizu @kmizu

@nahi あ。"Nicely thorough!"の間違いでした。これ、自分もわからなくて、用例ぐぐてみたんですが、「良いね」くらいな感じ?誰か英語に詳しい人解説求むw

2012-01-19 10:21:52
kmizu @kmizu

バグ報告して、いきなりpull request送るってのが、現状のScalaの体制としてOKなのかはわからないga、とりあえずPaul Phillipsさんがうまく処理してくれた。今後は、バグ報告とともに修正あるなら、pull request送ればいいのかなあ。

2012-01-19 10:26:15
kmizu @kmizu

今回のpull requestのやり取りは http://t.co/XwAc9yfs ==> http://t.co/ygSdxsSA な感じでした。参考になるかどうかわからんですけど、さらしてみる。 #scala #scalajp #github

2012-01-19 10:30:36