2009-08-15 5 views

Répondre

7

Vous pouvez créer un espace de travail à l'aide d'un script de commande à l'aide de la commande tf workspace. Vous pouvez ensuite mapper des dossiers de travail à l'aide de la commande tf workfold. La commande de l'espace de travail a une option/modèle

Par exemple:

pour créer un espace de travail pour quelqu'un

tf workspace /new Beta1;jenh 

puis créez un nouveau basé sur le modèle

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

à la carte un dossier:

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

+1 Résumé Nice. –

+1

Seul avertissement que je voudrais ajouter à cela, c'est que vous ne pouvez pas faire cela sur la machine que le modèle fait référence, car vous obtenez une erreur que les dossiers sont déjà mappés. –

+0

Oui, car vous pouvez seulement un dossier dans un espace de travail à une machine –

0

Vous pouvez également copier et coller les mappages d'espace de travail d'un espace de travail dans un autre.

  1. Modifiez l'espace de travail du modèle.
  2. Sélectionnez les mappages que vous souhaitez copier.
  3. Appuyez sur Ctrl + C
  4. créer un nouvel espace (ou modifier un existant)
  5. Tab dans la grille des dossiers de travail.
  6. Appuyez sur Ctrl + V

Vous pouvez également coller les applications dans le Bloc-notes, les mettre à jour et, les copier et les coller de nouveau dans l'éditeur de l'espace de travail.

Le format, vous verrez dans le bloc-notes: :

Exemple: $/TeamProj1/trunk /: C: \ TFS \ WorkingFolder \

2

En fonction de contrôle à grain fin beaucoup plus que vous voulez le processus, je l'ai trouvé ce script PowerShell pour être efficace:

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

Tous les paramètres peuvent être définis sont la liste dans cet article MSDN: http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx l'un des avantages de cette méthode est que sur tf.exe vous pouvez définir explicitement l'emplacement de l'espace de travail (c.-à-d. serveur ou local), et vous avez beaucoup plus de contrôle sur les mappages définis lors de la création.

Vous devriez pouvoir ajuster les paramètres appropriés et vider ce code dans n'importe quel fichier * .ps1.

0

Peut commencer à faire quoi que ce soit avec la modification de ce script 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 
Questions connexes