2009-08-15 14 views

答えて

7

tf workspaceコマンドを使用してコマンドスクリプトを使用してワークスペースを作成できます。次に、tf workfoldコマンドを使用して作業フォルダをマップできます。ワークスペースコマンドは、たとえば/テンプレートオプション

があります

誰か

tf workspace /new Beta1;jenh 

のためのワークスペースを作成するために、その後マッピングするためのテンプレート

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

に基づいて新しいものを作成しますフォルダ:

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

1ニースの要約。 –

+1

私がこれに追加したいのは、フォルダが既にマップされているというエラーが表示されるので、テンプレートが参照するマシンではこれを実行できないということです。 –

+0

はい、1つのワークスペース内の1つのフォルダのみが1つのマシンになる場合があります –

0

ワークスペースマッピングをコピーして、あるワークスペースから別のワークスペースに貼り付けることもできます。

  1. テンプレートワークスペースを編集します。
  2. コピーするマッピングを選択します。
  3. でCtrl + C
  4. 作業フォルダのグリッドに
  5. タブを新しいワークスペースを作成します(または既存のものを編集します)。
  6. Ctrlキーを押しながらV

また、メモ帳にマッピングを貼り付け、それらを更新して、コピーして、ワークスペースエディタに貼り付けることができます。

あなたがメモ帳に表示されますフォーマット: :

例: $/TeamProj1 /トランク/:C:あなたがオーバーしたいどのくらいのきめ細かい制御に応じて、TFS \ WorkingFolder \

2

を\このプロセスは、私はこのPowerShellスクリプトが有効であることが判明:

"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") 

定義することができすべてのパラメータは、このMSDNの記事にリストされている:tf.exe比べてこの方法のhttp://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx一つの利点は、ということですワークスペースの場所を明示的に定義することができます。サーバーまたはローカル)、作成時に定義されたマッピングをより詳細に制御できます。

適切な設定を微調整し、このコードを任意の* .ps1ファイルにダンプするだけで済みます。

0

は、このF#のスクリプトを変更すると何かを始めることがある:

/// 
/// 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 
関連する問題