Der folgende Codeausschnitt kennzeichnet alle Änderungen in einem bestimmten Änderungsset. Es sollte einfach sein, es zu ändern, um alle Dateien in einem bestimmten Pfad zu kennzeichnen. Anstatt das Changeset zu durchlaufen, tun Sie einfach eine vcServer.GetItems("$/Project1/path", RecursionType.Full)
und durchlaufen Sie sie.
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);
}