await octokit.request('GET /api/yystopf/csfjkkj/contributors.json')
+curl -X GET http://localhost:3000/api/v1/yystopf/csfjkkj/commits/80dd40214a58622312393b2ae693756a4781fab2/diff.json
+
await octokit.request('GET /api/v1/yystopf/csfjkkj/commits/80dd40214a58622312393b2ae693756a4781fab2/diff.json')
HTTP 请求
-GET /api/:owner/:repo/contributors.json
+GET /api/v1/:owner/:repo/commits/:sha/diff.json
请求参数:
@@ -9720,57 +9720,467 @@ http://localhost:3000/api/yystopf/csfjkkj/contributors.json
| 项目标识identifier |
-| ref |
-否 |
+sha |
+是 |
|
string |
-分支名称、tag名称或是提交记录id,默认为整个仓库 |
+提交记录id |
+
+返回字段说明:
+
-| filepath |
-否 |
+参数 |
+类型 |
+字段说明 |
+
+
+
+| file_nums |
+int |
+文件数量 |
+
+
+| total_addition |
+int |
+新增行数 |
+
+
+| total_deletion |
+int |
+删除行数 |
+
+
+| files.name |
+string |
+文件名称 |
+
+
+| files.oldname |
+string |
+文件修改前名称 |
+
+
+| files.addition |
+int |
+文件新增行数 |
+
+
+| files.deletion |
+int |
+文件删除行数 |
+
+
+| files.type |
+int |
+文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制 |
+
+
+| files.is_created |
+bool |
+是否为新建文件 |
+
+
+| files.is_deleted |
+bool |
+是否为删除文件 |
+
+
+| files.is_bin |
+bool |
+是否为二进制文件 |
+
+
+| files.is_lfs_file |
+bool |
|
+
+
+| files.is_renamed |
+bool |
+是否重命名 |
+
+
+| files.is_ambiguous |
+bool |
+ |
+
+
+| files.is_submodule |
+bool |
+是否为子模块 |
+
+
+| files.sections.file_name |
string |
-子目录名称,默认为空 |
+文件名称 |
+
+
+| files.sections.name |
+string |
+ |
+
+
+| files.sections.lines.left_index |
+int |
+ |
+
+
+| files.sections.lines.right_index |
+int |
+ |
+
+
+| files.sections.lines.match |
+int |
+ |
+
+
+| files.sections.lines.type |
+int |
+ |
+
+
+| files.sections.lines.content |
+string |
+ |
+
+
+| files.sections.lines.section_path |
+string |
+ |
+
+
+| files.sections.lines.section_last_left_index |
+int |
+ |
+
+
+| files.sections.lines.section_last_right_index |
+int |
+ |
+
+
+| files.sections.lines.section_left_index |
+int |
+ |
+
+
+| files.sections.lines.section_right_index |
+int |
+ |
+
+
+| files.sections.lines.section_left_hunk_size |
+int |
+ |
+
+
+| files.sections.lines.section_right_hunk_size |
+int |
+ |
-返回字段说明:
+
+
+返回的JSON示例:
+
+{
+ "file_nums": 1,
+ "total_addition": 1,
+ "total_deletion": 0,
+ "files": [
+ {
+ "name": "xinzeng3",
+ "oldname": "xinzeng3",
+ "addition": 1,
+ "deletion": 0,
+ "type": 1,
+ "is_created": true,
+ "is_deleted": false,
+ "is_bin": false,
+ "is_lfs_file": false,
+ "is_renamed": false,
+ "is_ambiguous": false,
+ "is_submodule": false,
+ "sections": [
+ {
+ "file_name": "xinzeng3",
+ "name": "",
+ "lines": [
+ {
+ "left_index": 0,
+ "right_index": 0,
+ "match": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1 @@",
+ "section_path": "xinzeng3",
+ "section_last_left_index": 0,
+ "section_last_right_index": 0,
+ "section_left_index": 0,
+ "section_right_index": 1,
+ "section_left_hunk_size": 0,
+ "section_right_hunk_size": 0
+ },
+ {
+ "left_index": 0,
+ "right_index": 1,
+ "match": -1,
+ "type": 2,
+ "content": "+1111122222"
+ }
+ ]
+ }
+ ],
+ "is_incomplete": false,
+ "is_incomplete_line_too_long": false,
+ "is_protected": false
+ }
+ ]
+}
+
+
+获取比较提交blame
+根据分支名、标签、commit ID来获取代码对比blame
+
+
+示例:
+
+curl -X GET \
+-d "from=hh_ceshi" \
+-d "to=master" \
+http://localhost:3000/api/v1/yystopf/csfjkkj/compare.json
+
await octokit.request('GET /api/v1/yystopf/csfjkkj/compare.json')
+
HTTP 请求
+GET /api/v1/:owner/:repo/compare.json
+请求参数:
| 参数 |
+必选 |
+默认 |
类型 |
字段说明 |
-| total_count |
-integer |
-贡献者数量 |
+owner |
+是 |
+ |
+string |
+用户登录名 |
-| contributions |
-integer |
-贡献数量 |
+repo |
+是 |
+ |
+string |
+项目标识identifier |
-| login |
+from |
+是 |
+ |
string |
-用户登录名 |
+源分支、标签、commitID |
-| type |
+to |
+是 |
+ |
string |
-用户类型 |
+目标分支、标签、commitID |
+
+返回字段说明:
+
-| name |
+参数 |
+类型 |
+字段说明 |
+
+
+
+| commits_count |
+int |
+提交数量 |
+
+
+| commits.branch |
string |
-用户昵称 |
+提交分支 |
-| image_url |
+commits.author |
+object |
+提交作者 |
+
+
+| commits.committer |
+object |
+提交者 |
+
+
+| commits.commit_message |
string |
-用户头像 |
+提交信息 |
+
+
+| commits.sha |
+string |
+提交ID |
+
+
+| commits.parent_shas |
+array |
+提交父节点ID |
+
+
+| diff.file_nums |
+int |
+文件数量 |
+
+
+| diff.total_addition |
+int |
+新增行数 |
+
+
+| diff.total_deletion |
+int |
+删除行数 |
+
+
+| diff.files.name |
+string |
+文件名称 |
+
+
+| diff.files.oldname |
+string |
+文件修改前名称 |
+
+
+| diff.files.addition |
+int |
+文件新增行数 |
+
+
+| diff.files.deletion |
+int |
+文件删除行数 |
+
+
+| diff.files.type |
+int |
+文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制 |
+
+
+| diff.files.is_created |
+bool |
+是否为新建文件 |
+
+
+| diff.files.is_deleted |
+bool |
+是否为删除文件 |
+
+
+| diff.files.is_bin |
+bool |
+是否为二进制文件 |
+
+
+| diff.files.is_lfs_file |
+bool |
+ |
+
+
+| diff.files.is_renamed |
+bool |
+是否重命名 |
+
+
+| diff.files.is_ambiguous |
+bool |
+ |
+
+
+| diff.files.is_submodule |
+bool |
+是否为子模块 |
+
+
+| diff.files.sections.file_name |
+string |
+文件名称 |
+
+
+| diff.files.sections.name |
+string |
+ |
+
+
+| diff.files.sections.lines.left_index |
+int |
+ |
+
+
+| diff.files.sections.lines.right_index |
+int |
+ |
+
+
+| diff.files.sections.lines.match |
+int |
+ |
+
+
+| diff.files.sections.lines.type |
+int |
+ |
+
+
+| diff.files.sections.lines.content |
+string |
+ |
+
+
+| diff.files.sections.lines.section_path |
+string |
+ |
+
+
+| diff.files.sections.lines.section_last_left_index |
+int |
+ |
+
+
+| diff.files.sections.lines.section_last_right_index |
+int |
+ |
+
+
+| diff.files.sections.lines.section_left_index |
+int |
+ |
+
+
+| diff.files.sections.lines.section_right_index |
+int |
+ |
+
+
+| diff.files.sections.lines.section_left_hunk_size |
+int |
+ |
+
+
+| diff.files.sections.lines.section_right_hunk_size |
+int |
+ |
@@ -9778,23 +10188,83 @@ http://localhost:3000/api/yystopf/csfjkkj/contributors.json
返回的JSON示例:
{
- "contributors": [
- {
- "contributions": 5,
- "login": "testforge2",
- "type": "User",
- "name": "testforge2",
- "image_url": "system/lets/letter_avatars/2/T/236_177_85/120.png"
- },
+ "commits_count": 1,
+ "last_commit_sha": "80dd40214a58622312393b2ae693756a4781fab2",
+ "commits": [
{
- "contributions": 79,
- "login": "yystopf",
- "type": "User",
- "name": "yystopf",
- "image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
+ "author": {
+ "id": "2",
+ "login": "yystopf",
+ "name": "heh",
+ "type": "User",
+ "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
+ },
+ "committer": {
+ "id": "2",
+ "login": "yystopf",
+ "name": "heh",
+ "type": "User",
+ "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
+ },
+ "branch": "",
+ "commit_message": "x拟增\n\nSigned-off-by: yystopf <yystopf@163.com>",
+ "sha": "7e4d8bb3c28e24d4cd6b205f2eed32513e937524",
+ "parent_shas": null
}
],
- "total_count": 2
+ "diff": {
+ "file_nums": 1,
+ "total_addition": 1,
+ "total_deletion": 0,
+ "files": [
+ {
+ "name": "ceshi123",
+ "oldname": "ceshi123",
+ "addition": 1,
+ "deletion": 0,
+ "type": 1,
+ "is_created": true,
+ "is_deleted": false,
+ "is_bin": false,
+ "is_lfs_file": false,
+ "is_renamed": false,
+ "is_ambiguous": false,
+ "is_submodule": false,
+ "sections": [
+ {
+ "file_name": "ceshi123",
+ "name": "",
+ "lines": [
+ {
+ "left_index": 0,
+ "right_index": 0,
+ "match": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1 @@",
+ "section_path": "ceshi123",
+ "section_last_left_index": 0,
+ "section_last_right_index": 0,
+ "section_left_index": 0,
+ "section_right_index": 1,
+ "section_left_hunk_size": 0,
+ "section_right_hunk_size": 0
+ },
+ {
+ "left_index": 0,
+ "right_index": 1,
+ "match": -1,
+ "type": 2,
+ "content": "+1111122222"
+ }
+ ]
+ }
+ ],
+ "is_incomplete": false,
+ "is_incomplete_line_too_long": false,
+ "is_protected": false
+ }
+ ]
+ }
}