Ed Hintz
First, I agree a stand alone Source Control Explorer would be valuable. I will do what I can to have this considered in the product or at a minimum as a powertoy (sooned to be renamed to power tools).
Regarding the original topic of this thread there seems to be two issues:
- Why is the solution getting checked out
- Why does TFS keep me from checking in w/o saving the solution file(s)
The first issue has to be resolved by VS Core - TFS is told to check out the file because it was modified. This would happen regardless of the version control provider and we cannot ignore this request.
Regarding the second issue, I can understand why you prefer the current behavior to change. However, this behavior is by design because the relationships between files not in the solution and check-in policies is not easy to determine. For example, suppose the solution has a custom build step that uses a common settings/target file that is not in the solution and the user has a Clean Build check-in policy. If we do not prompt to save the solution, the policy may not be able to tell a new clean build is required. Part of the contract with 3rd party check-in policies is that all pending changes have been saved when they are called to evaluate their policies. We call to evaluate policieis when the check-in dialog is displayed.
Clearly, the specific scenario you described does not require the solution file(s) to be saved, but we are erroring on the side of caution to avoid data loss or scenarios where check-in policies do not work.
Possible work arounds include checking in via the command line, closing the solution, or checkin via a seperate Visual Studio that does not have the solution opened. Another work around is your suggesstion of the stand alone source control explorer.
Ed
http://blogs.msdn.com/edhintz