Una piccola nota sul metodo CreateLabel della classe VersionControlServer: l'ID della label da creare passata ovviamente non viene aggiornato, pertanto per avere l'oggetto label corretto é necessario ricaricarlo.
public
virtual
VersionControlLabel CreateLabel(VersionControlLabel label, ItemSpec items, VersionSpec version)
{
VersionControlServer vcs = label.VersionControlServer;
LabelItemSpec item = new
LabelItemSpec(items, version, false);
LabelResult[] res = vcs.CreateLabel(label, new
LabelItemSpec[] { item }, LabelChildOption.Replace);
if (res.Length > 0 && res[0].Status == LabelResultStatus.Created)
{
//Reload label per ottenere l'ID giusto!
label = vcs.QueryLabels(label.Name, label.Scope, label.OwnerName, false)[0];
return label;
}
return
null;
}