使用https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commitsbatch?api-version=6.1-preview.1
可以获得特定分支的列表(在本例中为发行分支),我希望将其限制为不属于任何先前发行分支的提交。
我尝试过
{
"compareVersion" : {
"versionType": "branch",
"version": "release.2"
},
"itemVersion": {
"versionType": "branch",
"version": "release.1"
}
}
我已经尝试过ComitId。
{
"fromCommitId" : "some commit sha"
}
似乎都不起作用
我要寻找的是第一个分支是否包含
[
{
"commitId": "b1c561d96ff1808700b34b3ef5346e0df4bf5ed8"
},{
"commitId": "a1c561d96ff1808700b34b3ef5346e0df4bf5ed9"
},{
"commitId": "c1c561d96ff1808700b34b3ef5346e0df4bf5ed0"
},{
"commitId": "f1c561d96ff1808700b34b3ef5346e0df4bf5ed1"
}
]
第二个分支包含:
[
{
"commitId": "b1c561d96ff1808700b34b3ef5346e0df4bf5ed8"
},{
"commitId": "a1c561d96ff1808700b34b3ef5346e0df4bf5ed9"
},{
"commitId": "c1c561d96ff1808700b34b3ef5346e0df4bf5ed0"
},{
"commitId": "f1c561d96ff1808700b34b3ef5346e0df4bf5ed1"
},{
"commitId": "b2c561d96ff1808700b34b3ef5346e0df4bf5ed1"
},{
"commitId": "b3c561d96ff1808700b34b3ef5346e0df4bf5ed1"
}
]
然后我只希望将以下内容返回给第二个分支,因为其余的也是第一个分支的一部分。
{
"commitId": "b2c561d96ff1808700b34b3ef5346e0df4bf5ed1"
},{
"commitId": "b3c561d96ff1808700b34b3ef5346e0df4bf5ed1"
}
答案 0 :(得分:0)
该API在我的测试过程中运行良好,请仔细检查它是否对您有利。
提交Release.1
分支:
提交Release.2
分支:
我的身体:
{
"itemVersion": {
"versionType": "branch",
"version": "release.1"
},
"compareVersion": {
"versionType": "branch",
"version": "release.2"
}
}
结果:
当Release.2
仅包含两次提交时,我从Release.1
分支创建了Release.1
分支,然后我在Release.1
中进行了一次提交,在Release.2
中进行了两次提交。因此Release.2
有两个14565a1a
不包含的提交(5acd3398
和Release.1
)。很明显,API可以工作以返回这两个提交。