views:

90

answers:

3

Shamefully, we use TFS at work for a C# project. I wish we could move to svn or git, but we can't change that. All of us working on the project hate the automatic check-out "feature" of TFS, so we checked in our solution and project files as unbound from TFS.

Now, whenever we open the project, we get the following message:

The solution you have opened is under source control but not currently configured for integrated source control in Visual Studio. Would you like to bind this solution to source control now?

Is there a way to disable this message while keeping the solution unbound from the buggy and annoying integrated source control?

+1  A: 

The message you reference has nothing to do with TFS, it has to do with integrated source control within Visual Studio. If you really want to get rid of this message, go to Tools->Options->Source Control and set your source control provider to "none."

Then, go and download the Team Foundation Power Tools and enable the shell access, and you'll be able to right click within Windows Explorer and check in from there. If you don't want to do that, you can do your check-ins from the TF.EXE command line.

But seriously, if you don't like the automatic check-out, then just turn that off. You have the option of having TFS automatically check out, prompt you for check out, or do nothing and leave the files in a read-only state until you explicitly check them out.

Robaticus
We still need to have our source control plugin set to TFS because setting it to None disables the source control explorer, which is the interface we are currently using for manual check-in and check-out, etc. It seems like there's no way to only disable that particular warning, which is fine.
jnylen
A: 

If you like the svn/git model better, then I honestly wonder why you would want to turn off automatic checkout? You can configure VS to silently check out files on edit. This comes pretty close to the svn way of working, no?

Also, ensure that the TFS server is configured to allow multiple checkout on all text-based files, and you should be good to go. You can also install your own diff and merge tools (e.g. TortoiseDiff/TortoiseMerge) if you want.

jeroenh
1) the automatic checkout doesn't even work properly! I'm not sure if our TFS server is misconfigured or what, but we get an "Internal error in the DLL" message every time we try to update a project setting. It also discards the first keystroke on edit which is annoying.
jnylen
2) I don't think automatic check out comes anywhere close to the model of svn or git, because I really believe TFS's `check out / check in / resolve conflicts` model to be far inferior to svn or git.
jnylen
finally, 3) no one on my team is used to making a small temporary edit for testing and having to undo their changes every time. Yes, our server is configured to allow multiple checkouts, but it gets messy extremely quickly.
jnylen
@jnylen I agree with all of your points. However, I don't see disabling automatic checkout as a better option. To me, this is the "least of all evil". The "internal error in the DLL" is of course frustrating, I imagine. Probably indeed some misconfiguration. Maybe you can exploit that to convince your management to switch to svn or git :-)
jeroenh
Our team seems to agree that the "least of all evil" is manual source control + the ability to edit files without worrying too much about their state on the server. And here's the part where I mention that I work at a Fortune 500 company, and we're not even IT. So moving to another system would be great but it ain't happening :)
jnylen
A: 

Another possibility could be to move to a 'git-tfs' combined solution. You would move your team to git, and sync with TFS on a regular basis. This way, only one person has to live with the TFS annoyances.

I have no experience with that, but apparently it has been tried before

jeroenh