文档首页/ 代码托管 CodeArts Repo/ API参考/ API/ V4/ Repository/ 分支、tags、提交对比
更新时间:2025-08-20 GMT+08:00
分享

分支、tags、提交对比

功能介绍

分支、tags、提交对比

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /v4/repositories/{repository_id}/compare

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

参数解释:

仓库的ID,通过查询用户所有仓库接口查询项目列表获取。

约束限制:

不涉及。

取值范围:

1-2147483647

表2 Query参数

参数

是否必选

参数类型

描述

from

String

参数解释:

要开始比较的分支名称、标签名称或者commitid。

取值范围:

字符串长度不少于1,不超过100000。

to

String

参数解释:

要停止比较的分支名称、标签名称或者commitid。

取值范围:

字符串长度不少于1,不超过100000。

compare_type

String

参数解释:

对比类型。

取值范围:

  • branch,分支。

  • commit,提交。

  • tag,标签。

默认取值:

branch

枚举值:

  • branch

  • commit

  • tag

target_id

Integer

参数解释:

合并请求的目标仓库,默认为仓库ID。

取值范围:

1-2147483647

straight

Boolean

参数解释:

比较方法。

取值范围:

  • true,用于fromto之间的直接比较(from..to)。

  • false,使用merge base进行比较(from...to)。

默认取值:

false

ignore_whitespace_change

Boolean

参数解释:

是否忽略空白数量更改。

取值范围:

  • true,忽略空白数量的更改。

  • false,不会忽略空白数量的更改。

默认取值:

false

view

String

参数解释:

是否忽略空白数量更改。

取值范围:

  • count,数量。

  • commits,提交信息。

  • diffs,差异信息。

  • files,文件信息。

  • commits,diffs,提交信息和差异信息。

枚举值:

  • count

  • commits

  • diffs

  • files

  • commits,diffs

only_count

Boolean

参数解释:

是否仅返回带有提交计数和diffs计数的结果。

取值范围:

  • true,仅返回带有提交计数和diffs计数的结果。

  • false,按照compare_view参数返回结果信息。

默认取值:

false

file_path

String

参数解释:

根据给定的文件路径返回不同的结果。如果文件已重命名,则file_path应包括old_path和new_path,如“file_path=old_path,new_path”。

取值范围:

字符串长度不少于1,不超过100000。

additional_fields

String

参数解释:

根据给定的参数返回不同的结果。

取值范围:

  • change_lines,变更行数。

枚举值:

  • change_lines

offset

Integer

参数解释:

偏移量,从0开始。

取值范围:

0-2147483647

默认取值:

0

limit

Integer

参数解释:

返回数量。

取值范围:

1-100

默认取值:

20

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

必传。

取值范围:

字符串长度不少于1,不超过10万。

默认取值:

不涉及。

响应参数

状态码:200

表4 响应Header参数

参数

参数类型

描述

X-Total

Integer

提交、分支、tags对比结果

表5 响应Body参数

参数

参数类型

描述

commit

CommitDto object

commit相关信息

commits

Array of CommitDto objects

commit相关信息列表

diffs

Array of DiffDto objects

变更文件信息

diffs_files

Array of DiffDto objects

变更文件信息

compare_timeout

Boolean

是否超时

compare_same_ref

Boolean

是否相同

conflict_files

Array of ConflictFileDto objects

冲突文件

added_lines

Integer

增加行数

取值范围:

1-2147483647

removed_lines

Integer

删除行数

取值范围:

1-2147483647

commits_count

Integer

提交数量

取值范围:

1-2147483647

diffs_count

Integer

文件变更数量

取值范围:

1-2147483647

表6 CommitDto

参数

参数类型

描述

id

String

id

message

String

消息

parent_ids

Array of strings

父节点提交ID

authored_date

String

创建该分支的时间

author_name

String

创建者名称

author_email

String

创建者邮箱

committed_date

String

代码提交的日期和时间

committer_name

String

提交者名称

committer_email

String

提交者邮箱

open_gpg_verified

Boolean

是否打开gpg校验

verification_status

Integer

验证状态

取值范围:

0-1

gpg_primary_key_id

String

GPG公钥的标识符

name

String

用户名

gpg_nick_name

String

昵称

gpg_tenant_name

String

租户名

gpg_user_name

String

特定GPG用户相关的信息

short_id

String

短id

created_at

String

创建时间

title

String

标题

author_avatar_url

String

author_avatar_url

committer_avatar_url

String

committer_avatar_url

relate_url

Array of RelatedCommitSimpleDto objects

only for DevCloud

nick_name

String

标题

tenant_name

String

tenant_name

user_name

String

用户名

表7 RelatedCommitSimpleDto

参数

参数类型

描述

related_id

String

关联工作项ID

related_url

String

关联工作URL

表8 DiffDto

参数

参数类型

描述

old_path

String

旧文件

new_path

String

新文件

a_mode

String

旧文件类型

b_mode

String

新文件类型

file_path

String

文件路径

new_file

Boolean

是否新增

file_type

String

文件类型

renamed_file

Boolean

是否重命名

deleted_file

Boolean

是否删除文件

diff

String

比较结果

binary

Boolean

是否二进制

too_large

Boolean

是否过大

collapsed

Boolean

是否折叠

line_count

Array of integers

取值范围:

1-2147483647

added_lines

Integer

增加行数

取值范围:

1-2147483647

removed_lines

Integer

删除行数

取值范围:

1-2147483647

表9 ConflictFileDto

参数

参数类型

描述

old_path

String

旧文件

new_path

String

新文件

状态码:401

表10 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

状态码:403

表11 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

状态码:404

表12 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

请求示例

响应示例

状态码:200

提交、分支、tags对比

{
  "commit" : {
    "id" : "1690246aeae929d672740fc4951db94ae635e493",
    "message" : "mysql连接\\n\\nChange-Id: I06d0995d1362beff8ed530",
    "parent_ids" : "[test01,test02]",
    "authored_date" : "2024-10-25T09:28:10.000Z",
    "author_name" : "test",
    "author_email" : "test@example.com",
    "committed_date" : "2024-10-25T09:28:10.000Z",
    "committer_name" : "test_name",
    "committer_email" : "test@example.com",
    "open_gpg_verified" : null,
    "verification_status" : 0,
    "gpg_primary_key_id" : "",
    "short_id" : "123",
    "created_at" : "2024-10-25T09:28:10.000Z",
    "title" : "test测试",
    "author_avatar_url" : "https://test",
    "committer_avatar_url" : "https://test",
    "relate_url" : null
  },
  "commits" : null,
  "diffs" : null,
  "diffs_files" : null,
  "compare_timeout" : null,
  "compare_same_ref" : null,
  "conflict_files" : null,
  "added_lines" : 2,
  "removed_lines" : 2,
  "commits_count" : 2,
  "diffs_count" : 2
}

状态码:401

Unauthorized

{
  "error_code" : "CH.00000001",
  "error_msg" : "未识别到用户认证信息"
}

状态码:403

Bad Request

{
  "error_code" : "CH.00401008",
  "error_msg" : "您没有操作权限,请升级权限后重试。"
}

状态码:404

Not Found

{
  "error_code" : "CH.00402000",
  "error_msg" : "该仓库不存在,请检查后重试。"
}

状态码

状态码

描述

200

提交、分支、tags对比

401

Unauthorized

403

Bad Request

404

Not Found

错误码

请参见错误码

相关文档