【问题标题】:Download a file from TFS based on Change Set Number根据变更集编号从 TFS 下载文件
【发布时间】:2013-06-13 08:50:45
【问题描述】:

我想下载一个文件的两个不同版本。我已经获得了文件的历史记录并获得了第一个和最后一个变更集编号。

现在我正在尝试使用VersionControl.DownloadFile 方法下载文件,以便进行比较。但我无法识别 VersionSpec。有什么帮助吗?

示例代码:

        string tfsPath = listBox2.SelectedItem.ToString();

        var histories = vcs.QueryHistory( //filepath
               tfsPath,
               VersionSpec.Latest, 0, RecursionType.OneLevel, null, null, null, Int32.MaxValue, true, false, true).Cast<Changeset>();

        Changeset first = null;
        Changeset last = null;

        if (histories.Count() > 0)
        {
            first = histories.Where(h => h.ChangesetId > changeSetId).First();
            last = histories.Where(h => h.ChangesetId > changeSetId).Last();
        }

        //I want to compare these two versions

【问题讨论】:

  • "但我无法识别 VersionSpec。"你到底是什么意思,你不知道文件的版本,或者如何定义 VersionSpec?
  • DownloadFile 方法需要该参数。它用于指定我们需要下载哪个版本。但我不知道如何初始化那个参数。
  • 看看我下面的回答是否有帮助,而不是传入 VersionSpec.Latest 你会在我的回答中传入“versionFrom”

标签: c# .net


【解决方案1】:

要在 VersionSpec 中指定特定的更改集,您可以使用 ParseSingleSpec

//for changeset 13    
VersionSpec versionFrom = VersionSpec.ParseSingleSpec("C13", null); 

For some hints on the "version" format

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 2015-11-12
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多