Ejemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 public TFSStrategy()
 {
     forceCheckin       = true;
     labelNameFormat    = "Candle_{3}";
     labelCommentFormat = "Candle publication {0} version:{3} Changeset : {5}";
     childOption        = LabelChildOption.Replace;
 }
Ejemplo n.º 2
0
    public override void Run()
    {
        if (Arguments.Length < 3)
        {
            Console.WriteLine("Usage: tf label <label> <itemSpec>");
            Environment.Exit((int)ExitCode.Failure);
        }

        string labelName = Arguments[0];
        string itemPath  = Path.GetFullPath(Arguments[2]);

        // parse arguments
        LabelChildOption childOption = (LabelChildOption)Enum.Parse(typeof(LabelChildOption), OptionChild, true);
        RecursionType    rtype       = OptionRecursive ? RecursionType.Full : RecursionType.None;
        ItemSpec         itemSpec    = new ItemSpec(itemPath, rtype);

        VersionControlLabel label = new VersionControlLabel(VersionControlServer, labelName,
                                                            OwnerFromString(OptionOwner), null, OptionComment);

        List <LabelItemSpec> labelItemSpecs = new List <LabelItemSpec>();
        Workspace            workspace      = GetWorkspaceFromCache();

        labelItemSpecs.Add(new LabelItemSpec(itemSpec, new WorkspaceVersionSpec(workspace), false));

        LabelResult[] results = VersionControlServer.CreateLabel(label, labelItemSpecs.ToArray(),
                                                                 childOption);

        foreach (LabelResult result in results)
        {
            Console.WriteLine("{0} label {1}@{2}", result.Status, result.Label,
                              result.Scope);
        }
    }
Ejemplo n.º 3
0
        public LabelResult[] CreateLabel(VersionControlLabel label,
                                         LabelItemSpec[] labelSpecs,
                                         LabelChildOption childOption)
        {
            Workspace workspace = GetWorkspace(labelSpecs[0].ItemSpec.Item);

            return(repository.LabelItem(workspace, label, labelSpecs, childOption));
        }
Ejemplo n.º 4
0
        public LabelResult[] LabelItem(Workspace workspace, VersionControlLabel label,
                                       LabelItemSpec[] labelSpecs, LabelChildOption children)
        {
            Message msg = new Message(GetWebRequest(new Uri(Url)), "LabelItem");

            msg.Body.WriteElementString("workspaceName", workspace.Name);
            msg.Body.WriteElementString("workspaceOwner", workspace.OwnerName);
            label.ToXml(msg.Body, "label");

            msg.Body.WriteStartElement("labelSpecs");
            foreach (LabelItemSpec labelSpec in labelSpecs)
            {
                labelSpec.ToXml(msg.Body, "LabelItemSpec");
            }
            msg.Body.WriteEndElement();

            msg.Body.WriteElementString("children", children.ToString());

            List <LabelResult> labelResults = new List <LabelResult>();
            List <Failure>     faillist     = new List <Failure>();

            using (HttpWebResponse response = Invoke(msg))
            {
                XmlReader results = msg.ResponseReader(response);

                while (results.Read())
                {
                    if (results.NodeType == XmlNodeType.Element)
                    {
                        switch (results.Name)
                        {
                        case "LabelResult":
                            labelResults.Add(LabelResult.FromXml(this, results));
                            break;

                        case "Failure":
                            faillist.Add(Failure.FromXml(this, results));
                            break;
                        }
                    }
                }
            }

            foreach (Failure failure in faillist)
            {
                versionControlServer.OnNonFatalError(workspace, failure);
            }

            return(labelResults.ToArray());
        }
Ejemplo n.º 5
0
        public LabelResult[] CreateLabel(VersionControlLabel label,
																			LabelItemSpec[] labelSpecs,
																			LabelChildOption childOption)
        {
            Workspace workspace = GetWorkspace(labelSpecs[0].ItemSpec.Item);
            return repository.LabelItem(workspace, label, labelSpecs, childOption);
        }
Ejemplo n.º 6
0
        public LabelResult[] LabelItem(Workspace workspace, VersionControlLabel label, 
																	 LabelItemSpec[] labelSpecs, LabelChildOption children)
        {
            Message msg = new Message(GetWebRequest (new Uri(Url)), "LabelItem");

            msg.Body.WriteElementString("workspaceName", workspace.Name);
            msg.Body.WriteElementString("workspaceOwner", workspace.OwnerName);
            label.ToXml(msg.Body, "label");

            msg.Body.WriteStartElement("labelSpecs");
            foreach (LabelItemSpec labelSpec in labelSpecs)
                {
                    labelSpec.ToXml(msg.Body, "LabelItemSpec");
                }
            msg.Body.WriteEndElement();

            msg.Body.WriteElementString("children", children.ToString());

            List<LabelResult> labelResults = new List<LabelResult>();
            List<Failure> faillist = new List<Failure>();

            using (HttpWebResponse response = Invoke(msg))
                {
                    XmlReader results = msg.ResponseReader(response);

                    while (results.Read())
                        {
                            if (results.NodeType == XmlNodeType.Element)
                                {
                                    switch (results.Name)
                                        {
                                        case "LabelResult":
                                            labelResults.Add(LabelResult.FromXml(this, results));
                                            break;
                                        case "Failure":
                                            faillist.Add(Failure.FromXml(this, results));
                                            break;
                                        }
                                }
                        }
                }

            foreach (Failure failure in faillist)
                {
                    versionControlServer.OnNonFatalError(workspace, failure);
                }

            return labelResults.ToArray();
        }