2

I just started using TFS last week in a new job. My previous experience has primarily been with Subversion and one thing I liked about Subversion is that it forces you to get latest before checking in anything that would be conflicting. Furthermore, you have to resolve conflicts (or explicitly mark them as resolved even if they aren't really).

In TFS it seems like people are inadvertently wiping out other people's changes from time to time when 2 people have worked on the same file. I'm sure this is certainly due to inexperience with TFS, but it seems like the workflow of Subversion made it harder to do this and while I regularly had to help people resolve conflicts in Subversion, I don't remember having any real issues with people wiping out other people's code accidentally.

Is there a way to make TFS force you to get latest AND resolve all conflicts before checking in?

Jonathan Nixon
  • 4,940
  • 5
  • 39
  • 53
BVernon
  • 3,205
  • 5
  • 28
  • 64
  • what version of tfs are you using? – Mike Cheel May 08 '14 at 20:07
  • 1
    TFS *does* make you resolve conflicts before checking in. If I get file `foo` at version 42, and you check-in file `foo` at version 43, I cannot check-in. I will be given the conflict resolution window. Is there some workflow that suggests the opposite? – Edward Thomson May 08 '14 at 20:37
  • @EdwardThomson A couple people have mentioned that the conflict resolution window doesn't always popup automatically as expected (that is, if there are no conflicts it won't popup but they were expecting it to because they knew there would be conflicts). How accurate is TFS when it auto-merges items? I wonder if that could be an issue. The next thing I'll have to check is the history to see if people are just not paying attention when they merge. But I've experienced problems myself too and I've tried to be pretty darn careful. – BVernon May 08 '14 at 20:47
  • Automerge is generally the same across all vendors, and there aren't any longstanding known issues there. That said, it may be helpful to turn it off (Tools -> Options -> Source Control -> Visual Studio Team Foundation Server -> Attempt to automatically resolve conflicts when they are generated) to remove one moving part from the equation. – Edward Thomson May 08 '14 at 21:14

1 Answers1

3

This could depend on a few things but most relevant could be the workspace setup (local or server). For example, the server workspace provides you the option to enforce the get latest. Other differences could include the types of locks available under each workspace type.

Here's a couple of post on the subject: http://msdn.microsoft.com/en-us/library/bb892960.aspx http://blogs.msdn.com/b/phkelley/archive/2013/05/29/server-workspaces-vs-local-workspaces.aspx

Canica
  • 2,650
  • 3
  • 18
  • 34