Comments (10)
では、一旦そのような形で運用してみましょうか。
問題が発生したらまたこちらで議論しましょう。
ラベルに関しては、特にこだわりはありませんが、"in initial review"でどうでしょうか。
from ja.reactjs.org.
はい、現時点では @potato4d @koba04 @smikitky (とメインリポジトリ側の方数名)のみが write 権限の所有者です(この3名は管理権限もあります)。管理権限の write access を一部の人に付与することも可能ですが、今のところはこの3人で大丈夫そうな気がしています。
from ja.reactjs.org.
個人的にはファーストラウンドが終わったらあとは同時平行になっても大丈夫かなと思います。
ラベルについては、"in review" だと曖昧すぎるので "in initial review" / "initial review underway" / "初回レビュー中" あたりでどうでしょう。
- 初回レビュアーが宣言
- 初回レビュアーレビュー(数時間以内には終えること)
- 作業者レビュー対応
- 1~3までは守る(ただし個々の細かいツッコミは誰でも適宜OK)が、初回レビューラウンドが終わったら後は誰でも同時にレビューOK、approve 権限がある(=リポジトリにwriteアクセスがある)日本語話者( @koba04 @potato4d @smikitky の3名)のうち 2 名の approve によりマージ
from ja.reactjs.org.
@sasurau4 大量の重複したレビューがつくのを防ぐというのが最大の目的ですので、2が終わったらもう外していいかなと思います。
from ja.reactjs.org.
@smikitky
1-4のレビューフロー、良いと思います 👍
1点質問です。
in initial review
/initial review underway
/初回レビュー中
のラベルは1-3の間はずっと付いていて、4に入ったら外すという運用イメージですか?
from ja.reactjs.org.
今気づいたんですが、write権限ないとラベルつけたり剥がしたりできないですね...
https://help.github.com/articles/repository-permission-levels-for-an-organization/
from ja.reactjs.org.
@smikitky では、レビューより翻訳を進める方で協力していきます 👍
from ja.reactjs.org.
翻訳PRをどうマージするかについて。
現状ではGitHubのUI上でsquash-mergeするというルールだと思いますが、これをすると、master側でtextlintのルール変更があった場合に、マージ後に master上でCIのエラーが出ることで気付く、ということが起こります。(例 #101 と #116)
対策としては以下のようなものが挙がりますが、どうしましょうか。
- 普通に squash-merge してPRをクローズした後に、メンテナ側でエラーを修正する commit を master に直接 push する(例: aed3392 )
- 👍 とにかく速くて楽
- 👎 masterに❌つきコミットが残る
- PRのマージをローカルのコマンドラインで行い、修正してからpushすることで、エラーが出るとわかりきっているコミットに対して自動CIが走らないようにする
- 👍 比較的速い
- 👎 何にせよ一瞬masterにエラーのあるコミットは残る・squashマージにするとGitHub側がマージされたことを認識できない(はず)
- マージ前に PR 側に master をマージすることを強制する(GitHubの"Require branches to be up to date before merging"オプションを有効にする。PR上でグリーンにならないとマージできない)
- 👍 masterには綺麗な squash 済みコミットだけが残る
- 👎 翻訳者側の負荷増とそれによるマージの遅れ・#118 のような sync 用のPRでまでこれをやりたくないので sync は admin 権限がある人がルールを無視して強制的に行う必要がある・GitHub上での差分表示でちょっと混乱するかも・textlintのルール変更はそこまで頻繁には起きないので将来的にはあまり重要でないステップになるかも
- マージ前に master へのリベースを強制する
- 👍 masterには綺麗な squash 済みコミットだけが残る
- 👎 翻訳者側の負荷増・信念としてリベースが嫌いな人がいそう
個人の意見ですが、1が一番楽な気がしています。マージ後に見つかるようなエラーは殆どが textlint の細かいエラーであり合意形成というほどのこともありません。翻訳者側には git 自体に不慣れな人もいます。「masterをマージしたらエラーが出ていますので修正をお願いします」などとお願いしてわかりきった作業のために1日待つよりは、メンテナ側で1分で修正した方が早いです。masterに❌が残ることには少なくとも美観上の問題はありますが、自動デプロイなどは❌がある状態では起きないようにすればいいだけなので、本質的には問題ではないように思います。
(なお、もちろん原文に大きな変更がある場合など確実に大きな不整合が予想される場合は rebase や git merge master
を併用していくべきなで、あくまで PR に master をマージすることを全PRで強制まではしなくてもいいのでは、という話です)
from ja.reactjs.org.
1.
で良いと思います。 4.
をやってくれる翻訳者は翻訳者側でやってくれるはずなので、意識しないでよいかと思います。
Deno がそんな感じの運用をしているみたいで、良さそうだなーと思ったりしました。
http://hashrock.hatenablog.com/entry/2019/02/04/040505
from ja.reactjs.org.
個人的には今のフローでも特に問題は感じていないですが(SyncのPRのmergeは確かに微妙)、1でも大丈夫です。
1
の場合、merge後のCIを必ずチェックして対応する必要があるので、モバイルからmergeしずらいなと思ったのですが、approveだけして後でmergeは後からすればいいので大丈夫そうです。
from ja.reactjs.org.
Related Issues (20)
- 日本語切り替えを押すとトップページに飛ばされる HOT 4
- translate: Context.displayName の翻訳
- translate: Feature Flags の翻訳
- translate: If a Minor Release Includes No New Features, Why Isn't It a Patch? の翻訳
- jp.vuejs.org の che-tsumi を運用したい HOT 6
- Concurrent Mode translation progress HOT 3
- Translate Release Channels HOT 5
- Translation bot seems to have stopped working HOT 1
- v17 RCブログ翻訳 HOT 1
- 散見される`。(`の修正をしてもよいでしょうか。 HOT 4
- ReactDOM.render() と ReactDOM.hydrate() の扱い HOT 2
- 並列 vs 並行 for "concurrency" HOT 3
- tutorialの"ボールド"という表現が分かりにくく感じました
- New Translation Progress Checklist HOT 54
- Establish beta translation workflow HOT 5
- CircleCI を CI から削除 HOT 2
- Managing State HOT 1
- 一部の「副作用」を「エフェクト」に変更? HOT 2
- Modify links to the new docs to use the Japanese version
- Fix italic font issues by applying a class to `<em>`'s containing Japanese characters
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ja.reactjs.org.