繁体   English   中英

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

[英]Is it possible to delete source branch when abandoning a pull request using REST API in TFS?

我想使用PowerShell中的REST API放弃TFS中的拉取请求。 此外,我也需要删除源分支。 根据官方文档 ,这是可能的,并且示例REST请求可能如下所示:

网址是:

http://tfs.server/tfs/DefaultCollection/_apis/git/repositories/ {repo_ID} / pullrequests / {PR_ID}?api-version = 3.0-preview

主体是:

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

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

通过REST API放弃PR时是否可以删除源分支? 是这样吗? 也许, completionOptions仅用于完成PR,而不是放弃?

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

虽然文件是不是清楚这一点,但看来completionOptions被忽略,除非你实际上是在完成PR。 (由于未创建任何选项,它将对影响合并提交的选项产生什么影响?还要注意,git本身会拒绝删除尚未合并的分支的请求...)

看来您需要发送后续请求以删除分支; 但是git的REST API不是我所说的全面的,据我所知,没有选择可以做到这一点。

因此,IMO最好的选择是,在发送请求以放弃拉取请求后,使用git cli强制推送删除分支。 请注意,这将删除引用,但提交将保留。 据我所知,TFS不会进行垃圾收集,更不用说强制执行gc运行的选项了,因此,如果您还需要清除提交(以及其中的树/ blob版本),我不知道任何实际的解决方案起来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM