2009-08-15 22 views

Trả lời

7

bạn có thể tạo không gian làm việc bằng tập lệnh bằng lệnh tf workspace. Sau đó, bạn có thể ánh xạ các thư mục công việc bằng cách sử dụng lệnh tf workfold. Lệnh không gian làm việc có/mẫu tùy chọn

Ví dụ:

để tạo ra một không gian làm việc cho một người nào đó

tf workspace /new Beta1;jenh 

sau đó tạo một hình mới dựa trên mẫu

tf workspace /new /template:Beta1;jenh /server:teamserver2 Beta1;user2 

để lập bản đồ thư mục:

tf workfold /map $/projects/project_one C:\localproject1 /workspace:Beta1;user2 
+1

+1 đẹp tóm tắt. –

+1

Chỉ báo trước tôi sẽ thêm vào điều này, là bạn không thể làm điều này trên máy mà khuôn mẫu đề cập đến, khi bạn gặp lỗi khi các thư mục đã được ánh xạ. –

+0

Có khi bạn chỉ có thể một thư mục trong một vùng làm việc đến một máy –

0

Bạn cũng có thể sao chép và dán ánh xạ vùng làm việc từ một vùng làm việc này sang vùng làm việc khác.

  1. Chỉnh sửa không gian làm việc mẫu.
  2. Chọn ánh xạ bạn muốn sao chép.
  3. Nhấn Ctrl + C
  4. Tạo một Workspace mới (hoặc sửa hiện có)
  5. Tab vào các thư mục mạng lưới làm việc.
  6. Nhấn Ctrl + V

Bạn cũng có thể dán ánh xạ vào Notepad, cập nhật chúng và, sao chép và dán chúng lại vào trình soạn thảo không gian làm việc.

Các định dạng mà bạn sẽ thấy trong notepad: :

Ví dụ: $/TeamProj1/Trunk /: C: \ TFS \ WorkingFolder \

2

Tùy thuộc vào bao nhiêu kiểm soát hạt mịn bạn muốn trên quá trình này, tôi thấy kịch bản PowerShell này có hiệu quả:

"Microsoft.TeamFoundation.Client", 
"Microsoft.TeamFoundation.VersionControl.Common", 
"Microsoft.TeamFoundation.VersionControl.Client" | 
    ForEach-Object { Add-Type -AssemblyName "$_, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a" } 

$tfsUrl = "http://tfsserver:8080/collection" 

$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($tfsUrl) 
$vcs = $tfs.GetService([type]"Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer") 

$workspaceParameters = New-Object Microsoft.TeamFoundation.VersionControl.Client.CreateWorkspaceParameters -ArgumentList "WorkspaceName" 

# Add any specific parameters that you want according to http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx 
# e.g. $workspaceParameters.Comment = "" 
# e.g. $workspaceParameters.Computer = "" 
# e.g. $workspaceParameters.Location = [Microsoft.TeamFoundation.VersionControl.Common.WorkspaceLocation]::Local 

$workspace = $vcs.CreateWorkspace($workspaceParameters) 

# Add any working folders that you would defined below 
# e.g. $workspace.Map("$/", "C:\ProjectDirectory") 

Tất cả các thông số mà có thể được định nghĩa là danh sách trong bài viết này MSDN: http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx Một ưu điểm của phương pháp này so với tf.exe là bạn có thể xác định rõ ràng vị trí không gian làm việc (tức là máy chủ hoặc cục bộ) và bạn có nhiều quyền kiểm soát hơn đối với ánh xạ được xác định khi tạo.

Bạn sẽ có thể chỉ cần tinh chỉnh cài đặt thích hợp và kết xuất mã này vào bất kỳ tệp * .ps1 nào.

0

Có thể bắt đầu làm gì với sửa đổi F # kịch bản này:

/// 
/// Creates new local TFS workspace for specified folder and branch conventionally naming locals with server names 
/// 
// Install Team Explorer 
#r "Microsoft.TeamFoundation.Client" 
#r "Microsoft.TeamFoundation.VersionControl.Common" 
#r "Microsoft.TeamFoundation.VersionControl.Client" 

open Microsoft.TeamFoundation.VersionControl 
open Microsoft.TeamFoundation.VersionControl.Common 
open Microsoft.TeamFoundation.VersionControl.Client 
open Microsoft.TeamFoundation.Client 

//change these 
let tfsUrl = "http://tfsserver:8080/collection" 
let branch ="dev_features" 
let folder = "/FeaturesProject/" 


//conventions 
let workspaceName = System.Environment.MachineName+"_"+branch 
let localFolder = "D:"+folder+branch 
let serverFolder = "$/"+folder+branch 

// actions 
let tfs = TeamFoundationServerFactory.GetServer(tfsUrl) 
let vcs = tfs.GetService<VersionControlServer>() 
let workspaceParameters = Client.CreateWorkspaceParameters(workspaceName) 
workspaceParameters.Folders <- [| WorkingFolder(serverFolder,localFolder) |] 
workspaceParameters.Location <- System.Nullable<WorkspaceLocation>(WorkspaceLocation.Local) 
let workspace = vcs.CreateWorkspace(workspaceParameters) 

//run 
workspace |> ignore 
Các vấn đề liên quan