TFS二次开发11——标签(Label)

时间:2022-01-11 07:55:42

下图是在VS2010里创建Label的界面

TFS二次开发11——标签(Label)

可以看出创建Label 需要如下参数:Name、Comment、Path、Version 。
下面是代码实现:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client; string tpcURL = "http://127.0.0.1:8080/";
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(tpcURL));
VersionControlServer versionControl = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer; //创建标签
string labelName = "标签名称";
string labelComment = "标签评论";
string path = "$/CRM/Branches/WeiMovie";
VersionSpec version = VersionSpec.Latest;
var versionControlLabel = new VersionControlLabel(versionControl, labelName, versionControl.AuthorizedUser, path, labelComment); //Represents one or more files or folders on the local machine or in the repository.
var itemSpec = new ItemSpec(path, RecursionType.Full);
var labelItemSpec = new LabelItemSpec[];
labelItemSpec[] = new LabelItemSpec(itemSpec, version, false);
var lb = versionControl.CreateLabel(versionControlLabel, labelItemSpec, LabelChildOption.Merge);
//查询标签
VersionControlLabel[] lbls = versionControl.QueryLabels(null, null, null, true);//查询全部标签
//VersionControlLabel[] lbls = version.QueryLabels(null, null, null, false, path, VersionSpec.Latest);// 查询指定路径的标签
//删除标签
versionControl.DeleteLabel(lbls[].Name, lbls[].Scope);