迁移 DevHarness 到新 Gitea #17

Closed
opened 2026-08-16 23:07:06 +08:00 by ila · 1 comment
Owner

基本信息

  • 类型:单元任务
  • 状态:已完成
  • 所属 Epic:无
  • 所属 MVP / 版本:无

依赖与并行

  • 前置工单:无
  • 是否允许与未完成工单 #16 并行:是
  • 原因:#16 已完成实现并处于待验收;本任务迁移其现有代码、Wiki 和工单状态,不改变 #16 的验收内容。

原始需求

  • 来源:用户与 Agent 对话
  • 提出时间:2026-08-16
  • 关键原话或脱敏摘要:“把当前项目迁移到 https://git.ilapage.cn/OPC/dev_harness.git,用 gitea.env”“删除目标空仓库”
  • 已确认方案:删除并重建已确认为空的目标仓库,完整迁移 Git、Wiki 和工单;旧仓库保留作为回退源。

要解决什么

当前仓库、Wiki 和工单位于旧 Gitea。目标是把 DevHarness 的全部事实来源迁移到 https://git.ilapage.cn/OPC/dev_harness,切换本地远端和 Wiki 配置,并确保凭据文件不进入 Git。

做什么 / 不做什么

做

  • 使用当前工作区的 gitea.env 连接新 Gitea,且不输出或提交令牌。
  • 再次确认目标仓库为空后删除并重建。
  • 优先使用 Gitea 原生迁移能力迁移 Git、Wiki、工单及可支持的元数据。
  • 核对分支、标签、Wiki 页面、工单数量和关键状态。
  • 在新 Wiki 更新 Project-Profile 中的 Gitea、仓库和 DevHarness 来源。
  • 更新 wiki-docs.json、忽略 gitea.env、同步核心镜像。
  • 切换本地 origin 并推送迁移提交。
  • 完成必要检查、任务归档和证据回写,保持待验收。

不做

  • 不删除或修改旧 Gitea 仓库。
  • 不迁移账号凭据、访问令牌或其他项目数据。
  • 不改写历史任务结论。
  • 不关闭 #16 或其他待验收工单。
  • 不自动导出任务归档到本地。

已确认方案

  1. 目标仓库删除前必须确认其代码为空、无工单且 Wiki 无有效内容。
  2. 删除目标空仓库后,使用 Gitea 原生迁移从旧仓库导入 Git、Wiki、工单、标签、里程碑和发布等受支持内容。
  3. 若原生迁移失败,不继续堆叠修复;读取首个真实错误并最小处理,必要时停止。
  4. 迁移后先核对数据,再在新 Wiki 更新长期项目地址。
  5. 本地只改目标地址、凭据忽略和 Wiki 镜像;gitea.env 始终保持未跟踪且被忽略。
  6. 切换 origin 后推送当前任务提交,旧仓库保留为回退源。

文档影响

  • 不影响长期文档,原因:
  • 更新项目档案:Gitea 地址、仓库和 DevHarness 来源
  • 更新架构与代码地图
  • 更新业务规则与术语
  • 更新常见修改或故障排查
  • 更新其他 Wiki:

交付文档影响

  • 无交付文档影响,原因:仅迁移内部开发基础设施。
  • 更新已有交付文档:
  • 新增交付文档:
  • 需要目标岗位或客户代表验证:否;由项目维护者核对迁移结果。

验收标准

  • 目标空仓库已按用户授权删除并由迁移重建。
  • Git 默认分支、提交历史和标签迁移完整。
  • Wiki 核心页面和任务归档可访问。
  • 工单编号、状态和内容已迁移,#16 保持待验收。
  • 新 Wiki 项目档案记录新 Gitea 地址和仓库。
  • wiki-docs.json 和本地 origin 指向新地址。
  • gitea.env 被忽略且未提交。
  • 核心 Wiki 镜像一致,严格检查和单元测试通过。
  • 迁移提交已推送到新远端。
  • 旧仓库保持不变,可作为回退源。
  • 用户已于 2026-08-16 明确验收通过。

验证方式

  • 对比新旧默认分支 HEAD、分支和标签。
  • 对比新旧 Wiki 页面数量和核心页面。
  • 对比新旧工单数量、编号、状态,并检查 #16、#17。
  • python dev_scripts/sync_wiki_docs.py --check
  • python dev_scripts/check_harness.py --strict
  • python -m unittest discover -s tests -v
  • git status --short --branch
  • git remote -v

风险和回退

  • 风险:原生迁移对部分元数据支持有限;迁移后逐项核对并记录差异。
  • 风险:新旧地址混用;统一更新新 Wiki、配置和本地远端。
  • 风险:凭据误提交;先把 gitea.env 加入忽略并显式检查。
  • 回退:旧 Gitea 仓库不删除;迁移失败时删除不完整的新目标或保持其隔离,并把本地 origin 留在旧地址。

实施结果与证据

  • 新仓库:https://git.ilapage.cn/OPC/dev_harness。
  • Git 迁移基线:新旧 HEAD 均为 947a06846efea4740f272f3dde27880be021d1bb。
  • Wiki:迁移时新旧均为 29 个同名页面;迁移后更新 Project-Profile、Home 并新增 #17 归档。
  • 工单:#1–#17 编号、标题、正文和状态一致;35 条评论正文与顺序一致。
  • Project-Profile revision:33232aab59d7106c73a5d573054b82ce2db184eb。
  • Home revision:c1c1f27f33bd8d413787921e6a04b9ea32d80286。
  • 任务归档 revision:2234dcda6d05e316528f46aca711af5e47618042。
  • 提交:635a779、c2d7631,已推送到新 origin/main。
  • 严格检查:通过;单元测试:34 项全部通过;核心镜像:13 页一致。
  • 凭据:gitea.env 已被 .gitignore 忽略,未被跟踪或提交。
  • 迁移限制:普通 Gitea API 不支持回填原工单和评论的创建/更新时间;编号、内容、顺序和状态已保留。
  • 旧仓库未删除或修改,保留为回退源。
  • 按 #14 规则,任务归档只更新 Wiki,未自动导出到 docs/task/。

验收完成

  • 用户验收日期:2026-08-16
  • 最终任务归档 revision:7bb2fa7a46e6cc6aa25803e4020aef22f493fac8
  • 任务归档仅保留在线 Wiki,本次未自动导出到 docs/task/。
## 基本信息 - 类型:单元任务 - 状态:已完成 - 所属 Epic:无 - 所属 MVP / 版本:无 ## 依赖与并行 - 前置工单:无 - 是否允许与未完成工单 #16 并行:是 - 原因:#16 已完成实现并处于待验收;本任务迁移其现有代码、Wiki 和工单状态,不改变 #16 的验收内容。 ## 原始需求 - 来源:用户与 Agent 对话 - 提出时间:2026-08-16 - 关键原话或脱敏摘要:“把当前项目迁移到 https://git.ilapage.cn/OPC/dev_harness.git,用 gitea.env”“删除目标空仓库” - 已确认方案:删除并重建已确认为空的目标仓库,完整迁移 Git、Wiki 和工单;旧仓库保留作为回退源。 ## 要解决什么 当前仓库、Wiki 和工单位于旧 Gitea。目标是把 DevHarness 的全部事实来源迁移到 `https://git.ilapage.cn/OPC/dev_harness`,切换本地远端和 Wiki 配置,并确保凭据文件不进入 Git。 ## 做什么 / 不做什么 ### 做 - 使用当前工作区的 `gitea.env` 连接新 Gitea,且不输出或提交令牌。 - 再次确认目标仓库为空后删除并重建。 - 优先使用 Gitea 原生迁移能力迁移 Git、Wiki、工单及可支持的元数据。 - 核对分支、标签、Wiki 页面、工单数量和关键状态。 - 在新 Wiki 更新 Project-Profile 中的 Gitea、仓库和 DevHarness 来源。 - 更新 `wiki-docs.json`、忽略 `gitea.env`、同步核心镜像。 - 切换本地 `origin` 并推送迁移提交。 - 完成必要检查、任务归档和证据回写,保持待验收。 ### 不做 - 不删除或修改旧 Gitea 仓库。 - 不迁移账号凭据、访问令牌或其他项目数据。 - 不改写历史任务结论。 - 不关闭 #16 或其他待验收工单。 - 不自动导出任务归档到本地。 ## 已确认方案 1. 目标仓库删除前必须确认其代码为空、无工单且 Wiki 无有效内容。 2. 删除目标空仓库后,使用 Gitea 原生迁移从旧仓库导入 Git、Wiki、工单、标签、里程碑和发布等受支持内容。 3. 若原生迁移失败,不继续堆叠修复;读取首个真实错误并最小处理,必要时停止。 4. 迁移后先核对数据,再在新 Wiki 更新长期项目地址。 5. 本地只改目标地址、凭据忽略和 Wiki 镜像;`gitea.env` 始终保持未跟踪且被忽略。 6. 切换 `origin` 后推送当前任务提交,旧仓库保留为回退源。 ## 文档影响 - [ ] 不影响长期文档,原因: - [x] 更新项目档案:Gitea 地址、仓库和 DevHarness 来源 - [ ] 更新架构与代码地图 - [ ] 更新业务规则与术语 - [ ] 更新常见修改或故障排查 - [ ] 更新其他 Wiki: ## 交付文档影响 - [x] 无交付文档影响,原因:仅迁移内部开发基础设施。 - [ ] 更新已有交付文档: - [ ] 新增交付文档: - [x] 需要目标岗位或客户代表验证:否;由项目维护者核对迁移结果。 ## 验收标准 - [x] 目标空仓库已按用户授权删除并由迁移重建。 - [x] Git 默认分支、提交历史和标签迁移完整。 - [x] Wiki 核心页面和任务归档可访问。 - [x] 工单编号、状态和内容已迁移,#16 保持待验收。 - [x] 新 Wiki 项目档案记录新 Gitea 地址和仓库。 - [x] `wiki-docs.json` 和本地 `origin` 指向新地址。 - [x] `gitea.env` 被忽略且未提交。 - [x] 核心 Wiki 镜像一致,严格检查和单元测试通过。 - [x] 迁移提交已推送到新远端。 - [x] 旧仓库保持不变,可作为回退源。 - [x] 用户已于 2026-08-16 明确验收通过。 ## 验证方式 - 对比新旧默认分支 HEAD、分支和标签。 - 对比新旧 Wiki 页面数量和核心页面。 - 对比新旧工单数量、编号、状态,并检查 #16、#17。 - `python dev_scripts/sync_wiki_docs.py --check` - `python dev_scripts/check_harness.py --strict` - `python -m unittest discover -s tests -v` - `git status --short --branch` - `git remote -v` ## 风险和回退 - 风险:原生迁移对部分元数据支持有限;迁移后逐项核对并记录差异。 - 风险:新旧地址混用;统一更新新 Wiki、配置和本地远端。 - 风险:凭据误提交;先把 `gitea.env` 加入忽略并显式检查。 - 回退:旧 Gitea 仓库不删除;迁移失败时删除不完整的新目标或保持其隔离,并把本地 `origin` 留在旧地址。 ## 实施结果与证据 - 新仓库:`https://git.ilapage.cn/OPC/dev_harness`。 - Git 迁移基线:新旧 HEAD 均为 `947a06846efea4740f272f3dde27880be021d1bb`。 - Wiki:迁移时新旧均为 29 个同名页面;迁移后更新 Project-Profile、Home 并新增 #17 归档。 - 工单:#1–#17 编号、标题、正文和状态一致;35 条评论正文与顺序一致。 - Project-Profile revision:`33232aab59d7106c73a5d573054b82ce2db184eb`。 - Home revision:`c1c1f27f33bd8d413787921e6a04b9ea32d80286`。 - 任务归档 revision:`2234dcda6d05e316528f46aca711af5e47618042`。 - 提交:`635a779`、`c2d7631`,已推送到新 `origin/main`。 - 严格检查:通过;单元测试:34 项全部通过;核心镜像:13 页一致。 - 凭据:`gitea.env` 已被 `.gitignore` 忽略,未被跟踪或提交。 - 迁移限制:普通 Gitea API 不支持回填原工单和评论的创建/更新时间;编号、内容、顺序和状态已保留。 - 旧仓库未删除或修改,保留为回退源。 - 按 #14 规则,任务归档只更新 Wiki,未自动导出到 `docs/task/`。 ## 验收完成 - 用户验收日期:2026-08-16 - 最终任务归档 revision:`7bb2fa7a46e6cc6aa25803e4020aef22f493fac8` - 任务归档仅保留在线 Wiki,本次未自动导出到 `docs/task/`。
Author
Owner

验收前问题修复

用户发现正式页面持续显示“正在迁移”。诊断确认原生迁移失败后仓库保留迁移状态,而后台任务已不存在,状态接口返回 404。

经用户授权后已完成:

  • 创建普通重建仓库,复制并核对 Git、30个 Wiki 页面、17个工单和35条既有评论;
  • 重建仓库页面不含迁移状态;
  • 安全切换仓库名称后再次核对正式地址;
  • 删除异常迁移状态仓库并清理临时 Wiki 目录;
  • 正式地址 https://git.ilapage.cn/OPC/dev_harness、本地 origin 和现有提交保持不变。

最终检查:正式网页不再包含 repo_migrating,Git HEAD 为 c2d7631,Wiki HEAD 为 521bb283ce3e129978d3d3376b986e38110b8866,#17 仍保持待验收。

## 验收前问题修复 用户发现正式页面持续显示“正在迁移”。诊断确认原生迁移失败后仓库保留迁移状态,而后台任务已不存在,状态接口返回 404。 经用户授权后已完成: - 创建普通重建仓库,复制并核对 Git、30个 Wiki 页面、17个工单和35条既有评论; - 重建仓库页面不含迁移状态; - 安全切换仓库名称后再次核对正式地址; - 删除异常迁移状态仓库并清理临时 Wiki 目录; - 正式地址 `https://git.ilapage.cn/OPC/dev_harness`、本地 `origin` 和现有提交保持不变。 最终检查:正式网页不再包含 `repo_migrating`,Git HEAD 为 `c2d7631`,Wiki HEAD 为 `521bb283ce3e129978d3d3376b986e38110b8866`,#17 仍保持待验收。
ila closed this issue 2026-08-16 23:15:00 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/dev_harness#17