Exemplo n.º 1
0
        public void Shelve(Workspace workspace, Shelveset shelveset,
                           string[] serverItems, ShelvingOptions options)
        {
            Message msg = new Message(GetWebRequest(new Uri(Url)), "Shelve");

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

            msg.Body.WriteStartElement("serverItems");
            foreach (string serverItem in serverItems)
            {
                msg.Body.WriteElementString("string", serverItem);
            }
            msg.Body.WriteEndElement();

            shelveset.ToXml(msg.Body, "shelveset");

            bool replace = (options & ShelvingOptions.Replace) == ShelvingOptions.Replace;

            msg.Body.WriteElementString("replace", replace.ToString().ToLower());

            using (HttpWebResponse response = Invoke(msg))
            {
                msg.ResponseReader(response);
            }
        }
Exemplo n.º 2
0
        public void Shelve(Shelveset shelveset, PendingChange[] changes,
                           ShelvingOptions options)
        {
            List <string> serverItems = new List <string>();

            foreach (PendingChange change in changes)
            {
                // upload new or changed files only
                if ((change.ItemType == ItemType.File) &&
                    (change.IsAdd || change.IsEdit))
                {
                    Repository.ShelveFile(Name, OwnerName, change);
                }

                serverItems.Add(change.ServerItem);
            }

            Repository.Shelve(this, shelveset, serverItems.ToArray(), options);
        }
        public bool TryShelve(Workspace workspace, Shelveset shelveset, PendingChange[] pendingChanges, ShelvingOptions shelvingOptions)
        {
            try
            {
                _teamPilgrimTfsService.WorkspaceShelve(workspace, shelveset, pendingChanges, shelvingOptions);
                return(true);
            }
            catch (Exception ex)
            {
                this.Logger().DebugException(ex);
                LastException = ex;
            }

            return(false);
        }
Exemplo n.º 4
0
        public void Shelve(Shelveset shelveset, PendingChange[] changes,
												ShelvingOptions options)
        {
            List<string> serverItems = new List<string>();

            foreach (PendingChange change in changes)
                {
                    // upload new or changed files only
                    if ((change.ItemType == ItemType.File) &&
                            (change.IsAdd || change.IsEdit ))
                        {
                            Repository.ShelveFile(Name, OwnerName, change);
                        }

                    serverItems.Add(change.ServerItem);
                }

            Repository.Shelve(this, shelveset, serverItems.ToArray(), options);
        }
        public bool TryShelve(Workspace workspace, Shelveset shelveset, PendingChange[] pendingChanges, ShelvingOptions shelvingOptions)
        {
            try
            {
                _teamPilgrimTfsService.WorkspaceShelve(workspace, shelveset, pendingChanges, shelvingOptions);
                return true;
            }
            catch (Exception ex)
            {
                this.Logger().DebugException(ex);
                LastException = ex;
            }

            return false;
        }
Exemplo n.º 6
0
    public override void Run()
    {
        string name  = String.Empty;
        string owner = OwnerFromString(OptionOwner);

        if (Arguments.Length < 1)
        {
            Console.WriteLine("Usage: tf shelve [name] [path]");
            Environment.Exit((int)ExitCode.Failure);
        }

        if (Arguments.Length > 0)
        {
            int semicolon = Arguments[0].IndexOf(";");
            if (semicolon == -1)
            {
                name = Arguments[0];
            }
            else
            {
                name  = Arguments[0].Substring(0, semicolon);
                owner = Arguments[0].Substring(semicolon + 1);
            }
        }

        if (OptionDelete)
        {
            VersionControlServer.DeleteShelveset(name, owner);
            Console.WriteLine("Deleted shelveset {0}", name);
            Environment.Exit((int)ExitCode.Success);
        }

        // must be creating or replacing a shelveset
        Workspace workspace = GetWorkspaceFromCache();

        PendingChange[] pendingChanges;
        if (Arguments.Length < 2)
        {
            pendingChanges = workspace.GetPendingChanges();
        }
        else
        {
            List <string> paths = new List <string>();
            for (int i = 1; i < Arguments.Length; i++)
            {
                paths.Add(Path.GetFullPath(Arguments[i]));
            }

            // process command options
            RecursionType rtype = OptionRecursive ? RecursionType.Full : RecursionType.None;
            pendingChanges = workspace.GetPendingChanges(paths.ToArray(), rtype);
        }

        if (pendingChanges.Length == 0)
        {
            Console.WriteLine("No changes to shelve.");
            return;
        }

        Shelveset       shelve  = new Shelveset(VersionControlServer, name, owner);
        ShelvingOptions options = (OptionReplace)? ShelvingOptions.Replace : ShelvingOptions.None;

        workspace.Shelve(shelve, pendingChanges, options);

        Console.WriteLine("Created shelveset {0}", name);
        BriefOutput(pendingChanges, "  ");
    }
Exemplo n.º 7
0
        public void Shelve(Workspace workspace, Shelveset shelveset,
											 string[] serverItems, ShelvingOptions options)
        {
            Message msg = new Message(GetWebRequest (new Uri(Url)), "Shelve");

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

            msg.Body.WriteStartElement("serverItems");
            foreach (string serverItem in serverItems)
                msg.Body.WriteElementString("string", serverItem);
            msg.Body.WriteEndElement();

            shelveset.ToXml(msg.Body, "shelveset");

            bool replace = (options & ShelvingOptions.Replace) == ShelvingOptions.Replace;
            msg.Body.WriteElementString("replace", replace.ToString().ToLower());

            using (HttpWebResponse response = Invoke(msg))
                {
                    msg.ResponseReader(response);
                }
        }
Exemplo n.º 8
0
 public void WorkspaceShelve(Workspace workspace, Shelveset shelveset, PendingChange[] pendingChanges, ShelvingOptions shelvingOptions)
 {
     workspace.Shelve(shelveset, pendingChanges, shelvingOptions);
 }
 public void WorkspaceShelve(Workspace workspace, Shelveset shelveset, PendingChange[] pendingChanges, ShelvingOptions shelvingOptions)
 {
     workspace.Shelve(shelveset, pendingChanges, shelvingOptions);
 }