c# - TFS 2008 使用 C# 应用标签

标签 c# label

有没有办法使用 C# 将标签应用到 TFS 2008 项目/目录? 我知道命令行程序:

tf label SampleLabel $/Project1/Source/* /recursive /server:TFS1

但我想使用 C# 代码执行此操作,并且不想从 C# 运行 TF.exe 命令行。

最佳答案

以下代码片段标记特定变更集中的所有变更。更改它以标记特定路径中的所有文件应该很简单。无需迭代变更集,只需执行 vcServer.GetItems("$/Project1/path", RecursionType.Full)并迭代它们。

    private void LabelChangeset(string fileLabel, Changeset changeset)
    {
        VersionControlLabel vcl = new VersionControlLabel(vcServer, fileLabel, null, cbProjects.SelectedItem.ToString(), "Autogen label.");

        LabelItemSpec[] itemSpecs = new LabelItemSpec[changeset.Changes.Length];

        string ver = string.Format("C{0}", changeset.ChangesetId);
        VersionSpec fileVersion = VersionSpec.ParseSingleSpec(ver, null);

        int index = 0;
        foreach (Change c in changeset.Changes)
        {
            itemSpecs[index++] = new LabelItemSpec(new ItemSpec(c.Item.ServerItem, RecursionType.None), fileVersion, false);
        }

        LabelResult[] results = vcServer.CreateLabel(vcl, itemSpecs, LabelChildOption.Replace);
    }

关于c# - TFS 2008 使用 C# 应用标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245542/

相关文章:

c# - 使用 C# 列出使用的 TCP 端口

python-3.x - Tkinter不断崩溃:在循环中更新标签(StringVar())

r - 部分行标签热图 - R

c# - 为什么我在文本框中得到无效输出?

c# - Windows 服务停止

c# - ASP.NET MVC : How to close browser window instead of returning a view?

c# - Windows Universal App,无法将所有必需的包添加到项目

text - JavaFX 使用窗口调整文本大小

java - 如何在 MyEclipse 中定义 Label 类?

javascript - 水平条形图 d3.js 不显示标签