簡體   English   中英

從TFS獲取最新版本的文件

[英]Get latest version of file from TFS

我試圖從TFS更新本地文件,但我無法讓它工作。 我甚至不知道為什么它會失敗,因為TFS不會給我一個例外或任何東西,它只是默默地蔑視我並且不會更新任何東西。

public bool getLatest(string[] items)
{
    try
    {
        Workspace myWorkspace = createWorkspace();
        myWorkspace.Get(items, 
                        VersionSpec.Latest, 
                        RecursionType.Full, 
                        GetOptions.Overwrite);

        return true;
    }
    catch (Exception ex)
    {
        Tools.MessageLogger.LogError(ex.Message);
        return false;
    }
}

我必須補充一點,與TFS的所有其他通信都很好,等待更改,簽入或結帳都可以。 這非常令人沮喪。

雖然我之前沒有這方面的知識,但我想我會稍微擴展我的評論,希望它可能有所幫助(因為似乎沒有其他人回答)。

根據文檔WorkSpace.Get()應返回一個GetStatus對象,該對象告訴您有多少警告/失敗/沖突 - 此時您只是拋棄了這些信息。

如果您想以與記錄其他錯誤相同的方式記錄獲取最新的失敗,您可以嘗試這樣的事情:

public bool getLatest(string[] items)
{
    try
    {
        Workspace myWorkspace = createWorkspace();

        var results = myWorkspace.Get(items, VersionSpec.Latest, RecursionType.Full, GetOptions.Overwrite);
        var failures = results.GetFailures();

        foreach(var fail in failures)
        {
            Tools.MessageLogger.LogError(fail.GetFormattedMessage());
        }

        return failures.Count == 0;
    }
    catch (Exception ex)
    {
        Tools.MessageLogger.LogError(ex.Message);
        return false;
    }
}

我確實在文本編輯器而不是正確的IDE中寫了這個,所以如果我做了一個錯字/做了一些愚蠢的事情,那就道歉了。

暫無
暫無

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

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