4

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?

Robaticus
  • 22,857
  • 5
  • 54
  • 63
We Are All Monica
  • 13,000
  • 8
  • 46
  • 72
  • 7
    Seriously, why the hate on TFS? And if you're not happy with the automatic check-out feature, simply disable it in Visual Studio by going to `Tools->Options->Source Control` – Robaticus Aug 09 '10 at 14:56
  • 5
    After using TFS, then moving to `svn` for personal projects, and now `git`, I can say with conviction that TFS is truly awful compared to either one. – We Are All Monica Aug 09 '10 at 15:53

3 Answers3

5

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
  • 22,857
  • 5
  • 54
  • 63
  • 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. – We Are All Monica Aug 09 '10 at 15:56
  • How can you say this has nothing to do with TFS. It DOES. TFS is btiching about it....because this happens in Source Control Explorer when you try to open or work with whatever files you thought were "bound" to TFS which are not which is causing the migrain – PositiveGuy Jun 06 '14 at 15:06
  • My auto checkout is off and I STILL get this problem he is describing as well. You never have to deal with these weird message crap in other source Control such as subversion or Git. I agree, TFS is horrible...and just causes more problems than anything. – PositiveGuy Jun 06 '14 at 15:06
2

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

Community
  • 1
  • 1
jeroenh
  • 26,362
  • 10
  • 73
  • 104
0

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
  • 26,362
  • 10
  • 73
  • 104
  • 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. – We Are All Monica Aug 11 '10 at 14:00
  • 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. – We Are All Monica Aug 11 '10 at 14:02
  • 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. – We Are All Monica Aug 11 '10 at 14:03
  • @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 Aug 11 '10 at 17:44
  • 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 :) – We Are All Monica Aug 12 '10 at 13:51
  • "If you like the svn/git model better, then I honestly wonder why you would want to turn off automatic checkout?" Then you don't get svn or Git. The positive way to use source control is that you PULL WHEN YOU WANT TO. I do not want an auto pull when I open Visual Studio. Best practice is you pull often but let ME decide when I do that and make it up to me to ensure I follow best practices. TFS don't enforce crap on me...connected state all the time to TFS is what we do not like coming from svn or git. It's troublesome and cause more pain than anything. – PositiveGuy Jun 06 '14 at 15:09
  • just use git-tfs people whenever you can. Get around using this junk. – PositiveGuy Jun 06 '14 at 15:10
  • @CoffeeAddict of course you pull when you want to. TFS these days also defaults to that if I'm not mistaken. Check out != get latest version (although I believe this used to be the default, inherited from VSS *yuck*). – jeroenh Jun 10 '14 at 08:39