Geeks With Blogs
Per Lundberg Random thoughts from a BizTalk developer
TFS (Team Foundation Server) seems to have some very peculiar ideas regarding branching. Previously, I've used the branching feature, and it's worked just fine. But today, it went absolutely crazy with me.

What I did was this: I tried to create a branch of a solution. Seemed to work fine. Now, the problem was that the branched solution still referred to some of the old projects. And, even worse, the non-branched solution referred to the new, branched projects!

(Branching in TFS works like this: a directory is essentially copied on disk, so you get a separate working copy for each branch. Pretty good when it works, but today... a complete disaster)

Just a few minutes ago, I was so angry regarding this. I mean, this is crazy! This is kind of the feature regarding branching, the key issue is that you want to separate the two different branches from each other. But by doing this, VS2008/TFS essentially destroyed this idea.

Grmbl.. Posted on Tuesday, July 7, 2009 12:43 PM | Back to top

Comments on this post: TFS and branching

# re: TFS and branching
Requesting Gravatar...
What type of solution/projects are you working with? Did any of the projects have a reference outside of the solution root?
Left by Matt on Jul 07, 2009 1:33 PM

# re: TFS and branching
Requesting Gravatar...
Hi Matt, thank you for responding & responding quickly. :-)

This project is a WCF solution, with a bunch of sub-projects (one for the data contract, and so forth). It turned out that the project in fault was the actual "host" project, a Web Application project that hosts the .svc files itself.

The symptom was actually /really weird/. In the workspace mappings, there was a specific mapping set up for this project, to make it refer to the branched version of the project.

I removed this reference. It /still/ tried to refer to the branched version of the project. I grepped (with the UNIX utility grep, if you know what I mean) through the whole solution folder recursively, and there was absolutely no reference to the branched directory. I tried adding and removing the project, multiple times, with no success. It was /crazily/ bound to the branched directory!

How did I solve it? By removing the whole solution folder (after checking in all changes), and fetching it once again from the server, using the "Force get of files already in your workspace" option.

If you have ANY influence at all over the future of TFS... please look into how Subversion handles this. It is so much superior to TFS in this respect. The whole "workspace" idea can be questioned. With Subversion, you can have any number of simultaneous "checkouts" (the word checkout is used very differently in the CVS/Subversion world, as you may be aware of) in different folders. The checkout is always just bound to the folder itself, there is no magic "workspace" concept that can cause you headaches. :-)
Left by Per on Jul 07, 2009 1:42 PM

Your comment:
 (will show your gravatar)

Copyright © plundberg | Powered by: