在TFS中使用REST API放弃拉取请求时是否可以删除源分支?

时间:2017-04-10 13:29:46

标签: git rest powershell tfs tfs2015

我想在PowerShell中使用REST API放弃TFS中的pull请求。此外,我也需要删除源分支。根据{{​​3}},有可能并且示例REST请求可能如下所示:

网址为:

the official docs {repo_ID} / pullrequests / {PR_ID}?API-版本= 3.0预览

身体是:

{
  "status": "abandoned",
  "completionOptions": {
    "deleteSourceBranch": "true"
  }  
}

拉取请求会按预期被放弃,但源分支不会被删除。

通过REST API放弃PR时是否可以删除源分支?是这样,怎么样?或许,completionOptions仅用于完成公关,而不是放弃?..

我正在使用TFS 2015 Update-3(版本14.102.25423.0)。

1 个答案:

答案 0 :(得分:1)

尽管文档在这一点上并不清楚,但除非您确实正在完成PR,否则completionOptions似乎会被忽略。 (对于影响合并提交的选项,它会做什么,因为没有创建?还要注意git本身会拒绝删除尚未合并的分支的请求...)

您似乎需要发送删除分支的后续请求;但是git的REST API并不是我所说的全面的,据我所知,没有选择这样做。

所以,IMO你最好的选择是,在发出放弃拉取请求的请求后,让git cli强制推送删除分支。请注意,这将删除引用,但提交将保留。据我所知,TFS不进行垃圾收集,更不用说强制gc运行的选项,所以我知道如果你需要提交(以及其中的树/ blob版本)也没有实际的解决方案被清理干净。