nodejs / nodejs/node-core-utils
`git node release --promote` doesn't support worktrees
オープン
関連するプルリクエストがすでにマージされています。
- #907 @aduh95 による — マージ済み
- 主要言語
- JavaScript
- スター
- 314
- フォーク
- 137
- 平均マージ
- 2日 8時間
- マージ済み PR(30日)
- 24
説明
On my computer, I have several git worktrees (one for main, one for each release line, etc).
The promotion fails on the "cherry-pick to main" step, because I'm running it from the v23.x worktree and main is checked out in another one:
✔ Cherry-pick release commit to the default branch? Yes
fatal: 'main' is already used by worktree at '/Users/mzasso/git/nodejs/node'
Error: git checkout,main failed: 128
at ChildProcess.<anonymous> (file:///Users/mzasso/.volta/tools/image/packages/@node-core/utils/lib/node_modules/@node-core/utils/lib/run.js:45:21)
at ChildProcess.emit (node:events:507:28)
at maybeClose (node:internal/child_process:1101:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
at Process.callbackTrampoline (node:internal/async_hooks:130:17) {
code: 128,
messageOnly: true
}
I don't know if that can be fixed.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、別の worktree で main を checked out にした状態で、release-line worktree から git node release --promote を実行します。main への cherry-pick の手順と、その git checkout,main の失敗を確認し、その後、既存の worktree と競合せずに promotion が成功することを検証します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- git, javascript, nodejs
- 領域
- cli, release, tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100