Skip to content
GitLab
项目 群组 主题 代码片段
  • /
  • 帮助
    • 帮助
    • 支持
    • 社区论坛
    • 提交反馈
  • 登录
  • L large
  • 项目信息
    • 项目信息
    • 动态
    • 标记
    • 成员
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者统计
    • 分支图
    • 比较修订版本
  • 议题 21
    • 议题 21
    • 列表
    • 看板
    • 服务台
    • 里程碑
  • 合并请求 12
    • 合并请求 12
  • CI/CD
    • CI/CD
    • 流水线
    • 作业
    • 产物
    • 计划
  • 部署
    • 部署
    • 环境
    • 发布
  • 软件包与镜像库
    • 软件包与镜像库
    • 软件包库
    • 容器镜像库
    • Terraform 模块
    • 模型实验
  • 监控
    • 监控
    • 事件
  • 分析
    • 分析
    • 价值流
    • CI/CD
    • 仓库
  • Wiki
    • Wiki
  • 代码片段
    • 代码片段
  • 动态
  • 分支图
  • 创建新议题
  • 作业
  • 提交
  • 议题看板
收起侧边栏
  • 王权利
  • large
  • 议题
  • #7381

[500] New branch form does not validate inputs and raises 500.

Created by: cirosantilli

Go to :project_id/branches/new.

Fill in with either an invalid:

  • Git branch name like one containing a space: a b
  • inexistent base branch like adsfqwerasdfqwer

Outcome: 500, the branch is simply not created, nil is returned, then something does nil.attribute and raises.

Expected outcome: controller validates, and shows the form again.

What GitHub does with spaces: automatically replaces them with hyphens. For other errors like pathname containing slashes it says: "Sorry, that branch name is invalid."

What is a valid new reference is described at: https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html and can be checked automatically with git check-ref-format. I don't think we should take a subset of it as that would still allow users to push such branches from the command line: let's just call git check-ref-format itself.

The same will happen when https://github.com/gitlabhq/gitlabhq/pull/7266 is done, which is why I found this in the first place.

Another validation problem: if the new branch name is already taken, the following happens: http://feedback.gitlab.com/forums/176466-general/suggestions/6201425-validate-branch-name-uniqueness-on-web-ui-creation . That should also be validated.

指派人
分配到
工时统计