TFS二次開發系列:六、TFS的版本控制


  在TFS中對於版本控制是在WorkSpace工作區來控制的。

  首先我們先整理WorkSpace的一些基本使用方法。

    CheckIn:遷入掛起的操作

    CreateMapping:創建一個本地映射地址

    Delete:刪除工作區

    GetPendingChanges:獲取掛起的工作區

    Merge:合並工作項

    PendAdd:排隊文件或一個文件夾添加到版本控制儲存庫

    PendBranch:計划一個文件或文件夾的分支

    PendDelete:隊列刪除文件或文件夾的從版本控制儲存庫

    PendEdit:編輯簽出文件從版本控制儲存庫

  其次我們通過一個實例來看看如何創建本地映射地址,獲取掛起工作區,排隊文件,遷入掛起等操作。

            //TFSURI
            Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs");
            TfsTeamProjectCollection projectCollection = new TfsTeamProjectCollection(tfsUri);
            //設置版本控制Server
            VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>();
            
            //設置工作空間名稱
            String workspaceName = String.Format("{0}-{1}", Environment.MachineName, "Test");

            Workspace workspace = versionControl.GetWorkspace(workspaceName, versionControl.AuthorizedUser);
            //設置服務器文件夾
            var serverFolder = "$/Calueng";
            //設置本地映射文件
            var localFolder = Path.Combine("C:\\Temp\\", "Test");
            //設置為工作目錄文件夾
            var workingFolder = new WorkingFolder(serverFolder, localFolder);

            // 創建工作空間的本地映射地址
            workspace.CreateMapping(workingFolder);

            // 獲取工作空間的文件並且下載所有文件
            workspace.Get();

            // 創建一個測試文件夾
            String newFolder = Path.Combine(workspace.Folders[0].LocalItem, "測試文件夾");
            Directory.CreateDirectory(newFolder);
            String newFilename = Path.Combine(newFolder, "測試文檔1.txt");

            // 創建一個測試文件
            using (var streamWriter = new StreamWriter(newFilename))
            {
                streamWriter.WriteLine("這是測試文件的文字");
            }
            //將這個文件排隊等待遷入TFS管理
            workspace.PendAdd(Path.GetDirectoryName(newFilename), true);

            //  創建等待添加的文件項集合
            var pendingAdds = new List<PendingChange>(workspace.GetPendingChanges());

            // 將工作項CheckIn系統中
            int changesetForAdd = workspace.CheckIn(pendingAdds.ToArray(), "這里是備注消息");
            Console.WriteLine("遷入了工作項 {0}", changesetForAdd);
            Console.ReadLine();

   如需源碼請點擊 TFSTest2.rar 下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM