簡體   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