示例#1
0
        public void Workspace_GetLocalItemForServerItem_PassValidItem()
        {
            string serverItem = Environment.GetEnvironmentVariable("TFS_PROJECT");
            string item1      = Path.Combine(Environment.CurrentDirectory, "foo.txt");
            string item2      = workspace.GetLocalItemForServerItem(String.Format("$/{0}/{1}", serverItem, "foo.txt"));

            Assert.AreEqual(item1, item2);
        }
 public string GetLocalItemForServerItem(Workspace workspace, string serverItem)
 {
     return workspace.GetLocalItemForServerItem(serverItem);
 }
示例#3
-1
    public override void Run()
    {
        workspace = GetWorkspaceFromCache();
        workspace.RefreshMappings();

        if (Arguments.Length < 1)
            {
                Console.WriteLine("No changeset specified.");
                Environment.Exit((int)ExitCode.Failure);
            }

        int cid = Convert.ToInt32(Arguments[0]);
        Changeset changeset = VersionControlServer.GetChangeset(cid, true, false);

        // fetch all items in one fell swoop
        List<int> ids = new List<int>();
        foreach (Change change in changeset.Changes)
            {
                if ((change.ChangeType & ChangeType.Add) == ChangeType.Add)
                    {
                        if (change.Item.ItemType != ItemType.Folder)
                            {
                                string localItem = workspace.GetLocalItemForServerItem(change.Item.ServerItem);
                                Console.WriteLine("Undo add: " + change.Item.ServerItem);
                                deletedFiles.Add(localItem);
                            }

                        continue;
                    }

                ids.Add(change.Item.ItemId);
            }

        ProcessEdits(changeset, ids.ToArray(), cid);

        if (OptionPreview) return;

        changeCount += workspace.PendAdd(addedFiles.ToArray(), false);
        changeCount += workspace.PendEdit(editedFiles.ToArray(), RecursionType.None);
        changeCount += workspace.PendDelete(deletedFiles.ToArray(), RecursionType.None);
        Console.WriteLine("{0} pending changes.", changeCount);
    }