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?
Within Team->Team Project Settings->Source Control... ->Check-out Settings Tab I changed Enable multiple check-out to be unchecked.
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With