Skip to content

多级命名空间仓库(owner 含 /)在“创建项目”和“查看详情”两个阶段均存在兼容性问题 #331

@lohaaa

Description

@lohaaa

问题概述

系统对 owner/(例如 group/subgroup)的仓库支持不完整,导致两类问题:

  1. 创建项目阶段:仓库地址解析失败或解析结果不正确
  2. 详情访问阶段:文档相关接口路由匹配失败,页面不可用

一、创建项目阶段的问题

复现步骤

  1. 在“创建项目/提交仓库”中输入带多级命名空间的 Git 地址,例如:
    • https://<git-host>/group/subgroup/repo.git
    • git@<git-host>:group/subgroup/repo.git
    • https://gitlab.com/gitlab-org/charts/gitlab.git
  2. 提交创建。

实际结果

  • 地址解析失败,或 orgName/owner 解析不符合预期(多级路径未被完整保留)。
  • 后续创建流程可能中断,或创建出错误的仓库标识。

期望结果

  • 能正确识别并保留完整 owner 路径(group/subgroup)。
  • 项目可正常创建并进入后续处理流程。

二、详情访问阶段的问题

复现步骤

  1. 准备一个 owner/ 的仓库记录(如 group/subgroup)。
  2. 手动编辑url进入页面

实际结果

  • 详情页无法正常打开,或打开后文档数据加载失败
  • 前端代码中存在大量手动拼接url,如 redirect(/${owner}/${repo}/${encodeSlug(tree.defaultSlug)});

期望结果

  • 无论 owner 是否包含 /,都应正常返回,详情页和后端API可正常使用。

影响范围

  1. 使用多级命名空间的仓库无法稳定完成“创建 -> 查看结果”主流程。
  2. 用户侧会出现“项目无法创建”或“创建后无法查看文档”的核心功能阻断。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions