Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple checkout with team foundation server

We have around 3 people working on a project in TFS. Our company set our TFS project to single checkout. But Sometimes, we have 1 person checking out certain files, solution files, etc. Is it bad practice to have multiple checkout enabled and let the merging or diff tool handle the problem if we both accidentally overwrote someone else code?

I've read this somewhere that its all about good communication and allowing the diff tool to handle these problems but our employers suggest using single checkout.

2 questions. Should we enable multiple checkout? If so, how do we enable multiple checkout?

like image 250
Shawn Mclean Avatar asked Jan 05 '11 17:01

Shawn Mclean


People also ask

How do I disable multiple checkout in TFS?

Within Team->Team Project Settings->Source Control... ->Check-out Settings Tab I changed Enable multiple check-out to be unchecked.

Is Team Foundation a DevOps server?

What is Azure DevOps Server? Previously known as Team Foundation Server (TFS), Azure DevOps Server is a set of collaborative software development tools, hosted on-premises. Azure DevOps Server integrates with your existing IDE or editor, enabling your cross-functional team to work effectively on projects of all sizes.

Does Team Foundation server use Git?

Git in Visual Studio, Azure DevOps Services, and TFS is standard Git. You can use Visual Studio with third-party Git services, and you can also use third-party Git clients with TFS.


2 Answers

It is true that having multiple checkout disabled is simpler to work with, and it safeguards you against having to do manual merges and perhaps overwrite work.

However, it can also hinder productivity and development, especially on medium to large teams. If John can't get his feature done before Susan checks her version of a file in; some time is going to be wasted.

In my experience, multiple checkout with TFS works really well, and you should not be afraid to use it. The built-in merge tool sucks, but you can get a nice one such as DiffMerge for free. If you make sure to communicate what each other is working on, and each of you make sure to Get Latest after each feature (or every morning), to avoid the possibility of working on stale versions, you should be fine.

like image 137
driis Avatar answered Nov 10 '22 03:11

driis


I worked on a team of 3+ developers for a long time and shared checkout is fantastic. Your team will need the discipline to communicate with each other if they run into merge conflicts that aren't straightforward, but I have experienced nothing but upside in enabling shared checkout.

Make sure that you use a merge tool that supports three-way merge (such as DiffMerge), as these tools make it much easier to determine the intent of each developer's changes.

like image 39
John Bledsoe Avatar answered Nov 10 '22 03:11

John Bledsoe