是否可以通过 api 获取提交更改(仅差异)?
Is it possible to fetch commit changes (diff only) via api?
我正在尝试通过 api 提取提交更改,我得到的只是文件本身的路径,就像在整个文件中一样。
我想要实现的是查看每次提交的单个文件的更改(仅差异)。
例如:
如果我使用 Github 查询相同的内容,我会得到这样的差异:
"@@ -1 +0,0 @@\n- console.log(\"Blasting!\")"
Azure-devops中有类似的解决方案吗?
谢谢!
What I want to achieve is to see the changes (diff only) for a single file per commit.
没有现有的 Rest API 可以满足您的需求。但是你可以参考下面的步骤来获取git diff.
的内容
第 1 步:您可以使用 Rest API 到 get the commit id。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0
第 2 步:您可以使用 Rest API 到 get the commit by commit id。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=5.0
在RestAPIResult中,需要记录parentsid的值。
第 3 步:您可以使用 Rest API 获取文件路径。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=6.0
第四步:您可以使用以下API获取diff内容。
Post https://dev.azure.com/Organization/Project /_api/_versioncontrol/fileDiff?__v=5&diffParameters={value}&repositoryId={repositoryid}
{value} 是 Json 类型。
这是一个例子:
{"originalPath":"filepath","originalVersion":"Parentsid","modifiedPath":"filepath","modifiedVersion":"commitid","partialDiff":true,"includeCharDiffs":true}
您可以将值添加到 API URL。
然后运行 API 结果将包含 git diff 内容。 (2表示删除,1表示添加)
这是一个结果示例:
这里是the ticket,你可以参考一下
我正在尝试通过 api 提取提交更改,我得到的只是文件本身的路径,就像在整个文件中一样。
我想要实现的是查看每次提交的单个文件的更改(仅差异)。
例如:
如果我使用 Github 查询相同的内容,我会得到这样的差异:
"@@ -1 +0,0 @@\n- console.log(\"Blasting!\")"
Azure-devops中有类似的解决方案吗?
谢谢!
What I want to achieve is to see the changes (diff only) for a single file per commit.
没有现有的 Rest API 可以满足您的需求。但是你可以参考下面的步骤来获取git diff.
的内容第 1 步:您可以使用 Rest API 到 get the commit id。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0
第 2 步:您可以使用 Rest API 到 get the commit by commit id。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=5.0
在RestAPIResult中,需要记录parentsid的值。
第 3 步:您可以使用 Rest API 获取文件路径。
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=6.0
第四步:您可以使用以下API获取diff内容。
Post https://dev.azure.com/Organization/Project /_api/_versioncontrol/fileDiff?__v=5&diffParameters={value}&repositoryId={repositoryid}
{value} 是 Json 类型。
这是一个例子:
{"originalPath":"filepath","originalVersion":"Parentsid","modifiedPath":"filepath","modifiedVersion":"commitid","partialDiff":true,"includeCharDiffs":true}
您可以将值添加到 API URL。
然后运行 API 结果将包含 git diff 内容。 (2表示删除,1表示添加)
这是一个结果示例:
这里是the ticket,你可以参考一下