Skip to content

feat: /idd-transfer — 以新編號重建 issue 並刪除舊號(含引用改寫) #354

Description

@kiki830621

Problem

IDD 目前沒有處理「改變 issue 編號」的正式流程。需要搬遷 issue 的情境(例如公開 repo 上的 issue 含不該公開的內容)只能手動拼湊:

  • GitHub 內建 Transfer issue 會連編輯歷史一起搬走,無法清除已洩漏的內容。
  • 編輯 issue 只會覆蓋最新版,「已編輯」歷史任何人可見。
  • 只有「以清理過的內容建立新 issue → 刪除舊 issue」才能清掉歷史,但這會讓編號改變,牽動其他引用。

Proposed: /idd-transfer

以清理後的內容把 issue 搬到新編號,並處理連帶影響:

  1. 掃描:列出要搬的 issue 與其 comment;PR 無法刪除,只列出並提示改走 GitHub Support。
  2. 備份:搬遷前把原文存到本機。
  3. 重建:用(可選的)替換規則產生新 issue,保留 label、開關狀態與 comment(標註原留言日期)。
  4. 建立對照表:舊號 → 新號,持久化到檔案。
  5. 改寫引用:套用對照表,更新其他 issue / comment 中的 #N、owner/repo#N、issue URL、markdown 連結文字。
  6. 檔案與歷史(選用):同一份對照表套用到 repo 檔案與 commit message;若改寫歷史,SHA 會改變,須連帶更新跨 repo 的 Package.resolved revision 與 submodule 指標。
  7. 刪除舊 issue:deleteIssue,需 ADMIN 權限;不可逆,須顯式確認。
  8. 驗證:讀回確認殘留詞為 0、無指向舊編號的引用。

Acceptance

  • 先跑 dry-run,列出將建立/刪除/改寫的項目,使用者確認後才動手。
  • 建立新 issue 全部成功後才刪除舊 issue;任何一步失敗不刪。
  • 對照表可重跑(idempotent)。
  • 說明限制:PR 不可刪;被編輯過但未搬遷的 issue 仍有編輯歷史;搜尋引擎快取須另行處理。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions