azure-devops-rest-api - 获取为 Azure DevOps Rest API 中的提交编辑的代码行:已编辑的大文件 (changeType==3) 不返回完整更改
问题描述
尝试获取非常大文件(10K+ 行)的行更改时,并非所有更改都返回。有没有办法对返回结果进行分页?还是可以发送不同的查询参数以免截断响应?
网址 =https://{account}.visualstudio.com/{project}/_api/_versioncontrol/fileDiff?__v=5&diffParameters={params}&repositoryId={repositoryId}
参数(删除空格)=
{
"originalPath": commit path,
"originalVersion": parent commit_id,
"modifiedPath": commit path,
"modifiedVersion": commit_id,
"partialDiff": True
}
(预期)示例响应(基于此答案):
{
"changeType": 2,
"mLine": 9,
"mLines": [],
"mLinesCount": 0,
"oLine": 9,
"oLines": [
" <!-- Polyfill(s) for older browsers -->"
],
"oLinesCount": 1
},
{
"changeType": 1,
"mLine": 22,
"mLines": [
" <div>2</div>"
],
"mLinesCount": 1,
"oLine": 23,
"oLines": [],
"oLinesCount": 0
}
我能够得到回应。但是响应不包括在文件深处发现的行更改;这通常在通过 UI 查看提交时显示,并带有以下警告:“文件太大,无法包含在更改摘要视图中。导航到文件以查看完整差异。”
解决方案
恐怕无法在您的场景中获得所有线路。由于top
andskip
参数在此 api 中不起作用。你可以查看continuationToken
response中是否有监听器,如果有continuationToken
,则尝试continuationToken={continuationToken}
在api中添加,看看是否有效。如果没有continuationToken
,则无法获取文件中的所有行,因为它太大了。
推荐阅读
- istio - 从 Istio Ingress Gateway 设置静态响应
- php - file_put_contents() throws 403 Forbidden
- visual-studio-code - VSCode 片段可以进行三个替换吗?
- for-loop - 如何修复“'='预期在'..'附近 " Lua 中的错误
- sql - IsNull returns TRUE when inserting empty (NOT NULL) strings in a LONG VARCHAR field (SQL Anywhere)
- python - 使用文件中的 Numpy 计算特征值和特征向量
- laravel - 最佳实践 - Laravel Controller Eloquent 合并
- java - 与存储库相关的方法仅返回空值
- angular - 角度警告:清理不安全的样式值
- ruby-on-rails - 为什么我的链接不适用于我的 ruby on rails 网站?单击时链接保持在同一页面上