2009-08-15 18 views

Respuesta

7

puede crear un espacio de trabajo utilizando un script de comando utilizando el comando tf workspace. Luego puede mapear carpetas de trabajo usando el comando tf workfold. El comando de espacio de trabajo tiene una opción/plantilla

Por ejemplo:

para crear un espacio de trabajo para alguien

tf workspace /new Beta1;jenh 

continuación, crear uno nuevo basado en la plantilla

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

para mapear una carpeta:

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

+1 buen resumen. –

+1

La única advertencia que agregaría a esto es que no se puede hacer esto en la máquina a la que se refiere la plantilla, ya que se obtiene un error de que las carpetas ya están mapeadas. –

+0

Sí, ya que solo puede una carpeta en un área de trabajo para una máquina –

0

También puede copiar y pegar las asignaciones del espacio de trabajo de un área de trabajo a otra.

  1. Edite el espacio de trabajo de la plantilla.
  2. Seleccione las asignaciones que desea copiar.
  3. Presione Ctrl + C
  4. Crear un nuevo espacio de trabajo (o editar una existente)
  5. Tab en la red de carpetas de trabajo.
  6. Presione Ctrl + V

También puede pegar las asignaciones en el Bloc de notas, actualizarlos y, copiar y pegar de nuevo en el editor de espacio de trabajo.

El formato se verá en el bloc de notas: :

Ejemplo: $/TeamProj1/Tronco /: C: \ TFS \ WorkingFolder \

2

Dependiendo de la cantidad de control de grano fino que quieren más el proceso, he encontrado esta secuencia de comandos PowerShell para ser eficaz:

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

Todos los parámetros que capaz de ser definidos se lista en este artículo de MSDN: http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx Una ventaja de este método sobre tf.exe es que puede definir explícitamente la ubicación del espacio de trabajo (es decir servidor o local), y usted tiene mucho más control sobre las asignaciones que se definen en la creación.

Debería poder modificar la configuración adecuada y volcar este código en cualquier archivo * .ps1.

0

Puede comenzar hacer nada con la modificación de este script de 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 
Cuestiones relacionadas