nodejs / nodejs/node-core-utils

`git node release --promote` doesn't support worktrees

オープン
#906 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

関連するプルリクエストがすでにマージされています。

  • #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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。