[英]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.