今日の英語表現 30/30 · 段階: マージ後。 例文はすべてこの記事のために作成したものです。実際の リポジトリのコメントをそのまま持ってきたものではなく、ブランチや番号は例です。
目次
一目でわかる
| 表現 | Could we backport this to release-1.4? / Is this a candidate for a cherry-pick? |
| 意味 | この修正をrelease-1.4にも取り込むことはできますか? |
| 使う場面 | マージされたPRのコメント、イシュー、リリース関連のチャンネル |
| 丁寧さ | 丁寧な依頼。決定はメンテナーが行います |
1. 意味とニュアンス
backportはback(後ろに)とport(移す、移植する)を合わせた言葉で、 新しいバージョンで修正した内容を古いバージョンに移すことです。オープンソースでは、mainにマージされた修正をすでにリリース済みのブランチ(release-1.4など)に移し、次のパッチリリース(1.4.x)に載せる作業を指します。
Kubernetesでは同じ作業を cherry pick と呼びます。Kubernetesのcherry pickのドキュメントによると、これはすでにmasterにマージされた変更をリリースブランチに移す作業であり、通常はパッチリリースとしてセキュリティ修正や重大なバグ修正を出すために行われます。依頼する人はリポジトリの hack/cherry_pick_pull.sh スクリプトで対象ブランチごとに個別にcherry pick PRを作成し、サポート中の最も新しいリリースブランチから古い方へと進めます。新しいcherry pick PRには do-not-merge/cherry-pick-not-approved ラベルが貼られ、リリース管理者が承認して初めてマージされます。他のプロジェクトではボットのコマンドやラベルで同じ作業を行うこともあるため、CONTRIBUTINGドキュメントを確認します。
この過程からわかるように、backportは 当然やってくれる作業ではありません。 リリースブランチは安定性が優先されるため、新機能や危険な変更は受け入れないのが普通です。そのため依頼する時は なぜ必要なのかを必ず書きます。セキュリティ上の問題なのか、データ損失やアップグレードの失敗といった重大なバグなのか、影響を受けるユーザーが多いのかを明らかにすると、メンテナーが判断しやすくなります。依頼の主語をweにすること(Could we ...?)も、「一緒に考えてみよう」という協力のニュアンスを与えます。
2. 例文
状況 1: マージされたPRに依頼する時
Thanks for fixing this! Could we backport it to release-1.4? Users on 1.4 hit this crash during upgrades, and there's no workaround.
there's no workaroundは「回避策がない」という意味で、backportが必要な理由を最も短く伝えます。
状況 2: 対象かどうかを尋ねる時
Is this a candidate for a cherry-pick to the 1.3 and 1.4 branches, or is it too risky for a patch release?
candidateは「候補」です。too riskyという選択肢を一緒に提示すると、メンテナーも断りやすくなります。
状況 3: メンテナーが返答する時
I'd rather not backport this one. It touches the API defaults, which we try to keep stable in patch releases. It'll be in 1.5.0.
拒否する際にも理由と代替案(次の正式リリース)が一緒に添えられます。
3. 似た表現との違い
- Cherry-pick. Git 명령 이름에서 온 말로, 특정 커밋만 골라 다른 브랜치에 적용하는 것입니다. Kubernetes 처럼 backport 절차 자체를 이 이름으로 부르는 프로젝트도 있습니다.
- Patch release. backportされた修正が載せてリリースされるもの(1.4.3など)です。「Will this be in the next patch release?」のように尋ねます。
- Forward-port. 反対の方向で、リリースブランチで先に修正した内容をmainに移す作業です。稀ですが、知っておくと混乱せずに済みます。
4. 韓国人がよく犯す間違い
- Please apply this to old version too. どのバージョンなのか、なぜ必要なのかが抜けています。
- 修正した文: Could we backport this to release-1.4? It fixes a data loss bug that affects 1.4 users.
- Backport please!! 依頼というより要求のように聞こえます。
- 修正した文: Would this be a good candidate for a backport?
- I want you to backport this. 決定権がメンテナーにあるという点を無視しているような言い方です。
- 修正した文: Would you consider backporting this to the 1.4 branch?
5. 一行練習
次の韓国語の文をマージされたPRのコメントに書き換えてください。
この修正を1.4ブランチにも入れることはできますか?1.4を使用しているユーザーも同じメモリリークに直面しています。
模範解答
Could we backport this to the 1.4 branch? Users on 1.4 are hitting the same memory leak.
are hittingは「今まさに直面している」という進行形で、問題が現在進行形である点を伝えます。ユーザー数やイシューのリンクを付け加えると、さらに説得力が増します。
Titiの一言。 backportはお願いです。なぜ必要なのかをひと文添えると、メンテナーが「はい」と言いやすくなります。全30回をご一緒していただきありがとうございました。
参考
- Kubernetes、Cherry Picks ドキュメント: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-release/cherry-picks.md
- Git 문서, git-cherry-pick: https://git-scm.com/docs/git-cherry-pick