簡體   English   中英

如何在脫機時以編程方式查明本地文件是否在TFS版本控制下

[英]How can I programmatically find out if a local file is under TFS version control while offline

我有一個小的內部視覺工作室擴展(VS 2013),對於一個功能,我需要弄清楚磁盤上的文件是否在TFS版本控制之下。

(通過“在TFS版本控制下”我的意思是TFS跟蹤有問題的文件,以便可以檢出,編輯,簽入等)

以下代碼是我今天所擁有的,只要您連接到TFS,它就可以正常工作。 它使用工作區的實例

// m_workspace is of type Microsoft.TeamFoundation.VersionControl.Client.Workspace
var items = m_workspace.GetItems(
              new[] {new ItemSpec(filename, RecursionType.None)}, 
              DeletedState.Any, 
              ItemType.Any,
              false, 
              GetItemsOptions.LocalOnly | GetItemsOptions.Unsorted);
return items.First().Items.Any();

現在,問題是當您不在辦公室防火牆內(或通過VPN連接)時,無法訪問TFS服務器。 實際上,主機名甚至都不會解析。

所以我的問題是:有沒有其他方法讓我知道文件是否受版本控制? 最好使用公共API,但如果這就是它需要的話,我很好用一個丑陋的黑客...

你可以用這個:

   string underTfs = Microsoft.TeamFoundation.VersionControl.Client.Workstation.Current.IsMapped(path);

暫無
暫無

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

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