簡體   English   中英

獲取特定版本TFS API

[英]Get Specific Version TFS API

我寫了一些代碼來獲取所選項目的最新版本。 當我運行它,它的工作原理。 但是,如果我刪除該文件夾並再次運行它,它會說“所有文件都是最新的”

我使用Visual Studio TFS源代碼kontrol和Get Specific版本解決了這個問題。 如何使用TFS API在C#項目中實現?

我的代碼:

WorkingFolder workfolder = new WorkingFolder(ServerFolder, LocalFolder);
workspace.CreateMapping(workfolder);

workspace.Get(VersionSpec.Latest, GetOptions.Overwrite);

編輯:

我添加該代碼並檢查返回值“getStatus”

GetStatus getStatus = workspace.Get(VersionSpec.Latest,  GetOptions.Overwrite);
if (getStatus.NoActionNeeded)
// create new workspace and use same codes in "My code"

我還沒有嘗試過這個,但是你可以將GetOptions.Overwrite與GetOptions.GetAll結合起來嗎?

workspace.Get(VersionSpec.Latest, GetOptions.Overwrite | GetOptions.GetAll)

從命令行,我將使用tf get命令的/ force選項。 我認為GetOptions.GetAll標志可能等同於/ force選項。

如果您在2012年使用本地工作區,則GetLatest不下載已刪除文件的問題將不會成為問題。 但是,在“服務器”工作空間中,TFS只知道您告知TFS的本地磁盤更改。 在這種情況下,由於TFS服務器不知道您刪除的文件,因此不會知道它們丟失了,也不會重新下載它們。

如果你想在這種情況下得到它們,你必須通過像Dan提到的強制選項。 雖然力量不是一直很好的選擇。 它將強制所有內容重新下載,這是你通常不想做的事情。

您可以按照這些步驟進行操作 - 基於VersionControlServer

鏈接: http//msdn.microsoft.com/fr-fr/library/microsoft.teamfoundation.versioncontrol.client.versioncontrolserver.aspx

鏈接: http//msdn.microsoft.com/fr-fr/library/bb138927.aspx

注意:添加參考

Microsoft.TeamFoundation.VersionControl.Client.dll 

Microsoft.TeamFoundation.Client.dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM