We use Perforce as our source control at work. It is OK but I can see why Google are investigating GIT ;) Having used it for nearly 2 years now I have got comfortable with it even if Owen (my co developer) has to remind me to use the "Revert Unchanged Files" option prior to submitting!!
Anyway back to the point of this post. I have tried branching within Perforce before with our ASP.Net application and have not found it to be an easy process. Don't get me wrong this is not down to Perforce but rather the fact that with an ASP.Net application you end up having to hack the either the solution or the project files in order to build the branch. The reason? It seems that you can not share a IIS virtual directory between two different branches of the same ASP.Net application.
The cure? Well today I hacked the project file of the web project to change the IIS instance name so that when I loaded the project it told me the instance did not exist and it would create it for me. Before now I have renamed the branch solution file but this is not ideal and I think the separate IIS instance is neater if far from perfect.
I not sure if the reading I have done on this topic has missed some vital element but I would be interested to hear how other people get around the same issue.