jp.vuejs.org の che-tsumi を運用したい
potato4d opened this issue · comments
About
React の Translation Bot のカスタマイズ、つらいことのほうが多いので、 Vue.js JP で使っているオリジナルの che-tsumi を運用できればと考えています。
Translation Bot との優位性は https://github.com/vuejs/jp.vuejs.org/issues のように Issue を積み上げてくれること、 PR が小粒であることです。
@smikitky @koba04
一旦こちら導入し直して、 Translation Bot は停止してもらったほうがメンテナンス面で優位かと思います。いかがでしょうか?
Refs
@potato4d
React Transition Botとche-tsumiの違いをちゃんと把握できて出来ていないのですが、
PRが小粒になることでConflictの対応が減る感じでしょうか?
(あとはConflictしなかった場合にもPRが作成される?)
Conflictした場合の対応フローは下記のようなイメージでしょうか?
- 対象のcommitを手動でcherry-pickする
- conflictを解消する
- PR作る
自分の方でSync PRの対応が出来ていないので、お二人がOKであれば異論ありません。
今のbotのことしか知らない身としては、今の感じであれば現状のbotで大して問題には感じていないし、本家側で決めた仕組みを逸脱するのも不安…というのが正直なところではあります。
確か真意としては「小粒なPRであれば我々3人以外の貢献者を得やすい」という話だったと思うのですが、現状ではただ単にPRを小粒にしただけで自動的に貢献者が増えるというほどでもないように感じます(案内不足のせいでもありますが)。
botを入れ替えることで積極的に関わってくれる人が具体的にいるなら…という感じです。
@koba04
はい、そういう意図です。
また、大きなメリットとして、 PR へのコミットではなく Issue が積み重なっていることによって誰でもドキュメント貢献に参入できる というメリットがあります。
現状、巨大な Pull Request に対しての直接コミットが中心となっており、現実として外部の有志が協力できない状況になっていると思います。
なので、それを解消したいというのが意図となります。
そうはいっても現状のメンテナ体制で回っていないという事実があると思っています。並行での試験運用でも良いので初めてみて、それから結果に応じてどうにかするというのは改善の第一歩として立とうかと考えていますが、いかがでしょうか?
あと対案としては、期待したいのは「やるべきタスクが一覧化されていて、その上ですぐに着手できる体制を構築する」なので、本家のやり方を維持しつつ、例えばWebHookや GitHub Actions で react-translation-bot の作った PR について変化を取り込むとかもありかもしれないですね。
che-tsumi式の jp.vuejs.org だと、git log上に本家コミットのどこまでがマージ済みなのかが管理されていないように思えるのですが、この認識で正しいですか?
Vue側の翻訳者ガイドやこのPRなどを見る限り、コンフリクトがあったら本家の変更を目で見て、手でそれに対応する日本語のコミットを作って、手でPRを作る(cherry-pick的なことはしない)ということになっているように見えます。この違いは重要で、いったん今のbotを止めてche-tsumiベースに移行してしまったら、あとで思い直しても今の方式に戻ることは非常に困難なように思えます。
また個人の作業負荷だけでいうなら、今の方式は1PR上の1ブランチ上ですべてのやるべき作業がまとまっているため、そこにある10のコンフリクトをエディタ上で解決すれば完全に本家masterに追いつく、というのは速いし間違いが少ないです。「やるべきタスクが一覧化されている」の点に関しては、git本来の仕組みを有効活用している現状のbotの仕組みが既にかなり優秀で正確なように思います。
現状の仕組みでは第三者が貢献しづらいという点はその通りですが、そこについては、本当に第三者の貢献を求めたいほどの作業量の場合に未翻訳でいったんマージして手作業でIssueを立てるという現状の仕組みでも機能しているように思えます。
ただし現状ではコンフリクトがないコミット(ブログ記事とか)に関して先にマージを済ませるような仕組みがありませんので、そこが解決するような方法があればよいなとは確かに思います。
現状の bot のままで行くと思いますので close します。