Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When do I create a TFS workspace?

Tags:

tfs

I have had a nagging feeling for some time that I may be ignoring useful qualities of TFS Workspaces. The site here provides some great background on what they are: http://www.woodwardweb.com/teamprise/000333.html.

However, given this information, I don't really understand when I ought to create a new workspace. Do I create one for each "project"? Do I create one for each project-branch? Do I need to create mirror workspaces on every machine that I intend to work on? I'm not sure what I need to consider when making this decision.

Is there a best practice describing under what circumstances to use different workspaces?

Note: although it may be interesting to learn what practice others follow, I am more interested in learning about how to make the decision myself. I'm not really asking "When do you create new workspaces?". Instead, I am asking "How do I decide when to create a new workspace?".

like image 219
Eric Avatar asked Jul 20 '11 16:07

Eric


People also ask

What is a TFS workspace?

You use the TFS workspace to map a local working folder on your PC to a Source Control Folder within a TFS project repository.

What is a Visual Studio workspace?

A workspace is how Visual Studio represents any collection of files in Open Folder, and it's represented by the IWorkspace type. By itself, the workspace doesn't understand the contents or features related to files within the folder.

Where are TFS workspaces stored?

TFS workspaces are unique to your user name and the remote computer name and workspace information is stored both on your local computer and on the server.

What is a workspace in DevOps?

Your workspace is your local copy of the team's codebase. This is where you develop and test your code in isolation until you're ready to check in your work. In most cases the only workspace you need is created automatically for you and you don't have to edit it.


1 Answers

A workspace is defined per machine, per team project collection (TPC), therefore you need at least one workspace per machine you are working on, for each TPC you use.

Having a snapshot of the entire TPC on your machine might be both wasteful (you might not need access to projects or solutions that are maintained by other teams or developers, so you might want to create a workspace per team project or even one workspace per solution.

If you find yourself working on more than one task at the same time, you might want to create one workspace per task. This is considered a best-practice, and will allow you to separate the changes you make and check them in one task at a time (e.g. one workspace for a development task such as build a new UI, and another for fixing a bug recently found by QA).

Workspace per task works particularly well if your task vertically crosses multiple solutions (e.g. adding a UI, business logic, SOA service and updating the schema on a remote database, all as part of adding a new feature to your product); A task will rarely (if ever) cross team projects and should never cross TPCs.

like image 187
Assaf Stone Avatar answered Oct 14 '22 08:10

Assaf Stone