<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chris Rathjen : Visual Studio 2008</title><link>http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+2008/default.aspx</link><description>Tags: Visual Studio 2008</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>TFS Administration Guide</title><link>http://blogs.msdn.com/crathjen/archive/2008/09/26/tfs-administration-guide.aspx</link><pubDate>Fri, 26 Sep 2008 16:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8966478</guid><dc:creator>CRathjen</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/crathjen/comments/8966478.aspx</comments><wfw:commentRss>http://blogs.msdn.com/crathjen/commentrss.aspx?PostID=8966478</wfw:commentRss><description>&lt;P&gt;The &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=585F0CE7-789E-4C00-B132-6D88C995685C&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=585F0CE7-789E-4C00-B132-6D88C995685C&amp;amp;DisplayLang=en"&gt;TFS Administration Guide&lt;/A&gt; is a great resource for anyone who maintains one or more TFS instances (or is planning/considering doing so). Here are a couple highlight topics:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Team Foundation Server Planning Checklist&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;This covers everything from hardware requirements to domain considerations, backup/restore planning,&amp;nbsp;security requirements, and more&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Team Foundation Administration Walkthroughs&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;This includes scenarios such as "Setting up Groups and Permissions", "Customizing Check-In Policies and Notes", and "Setting up Team Foundation Server to Require HTTPS and SSL"&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Customization&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;There are topics for customizing Work Item Types, Process Templates, and the Build System&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;These are just a few of many topics. If you're about to deploy a Team Foundation Server, or want to get more out of the server(s) you already operate, this is a great resource.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;A class="" href="http://www.google.com/musics?lid=ft-7uTiTfMC&amp;amp;aid=yj08Z7cARjJ&amp;amp;sid=zGo2v6LqGQL" mce_href="http://www.google.com/musics?lid=ft-7uTiTfMC&amp;amp;aid=yj08Z7cARjJ&amp;amp;sid=zGo2v6LqGQL"&gt;Is it bright where you are?&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8966478" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Admin+and+Ops/default.aspx">Admin and Ops</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Team+Foundation+Server/default.aspx">Team Foundation Server</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item><item><title>TechEd 2008 FAQ: Branching and Merging with Team Foundation Server</title><link>http://blogs.msdn.com/crathjen/archive/2008/06/18/TechEd-2008-FAQ_3A00_-Branching-and-Merging-with-Team-Foundation-Server.aspx</link><pubDate>Wed, 18 Jun 2008 21:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8618072</guid><dc:creator>CRathjen</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/crathjen/comments/8618072.aspx</comments><wfw:commentRss>http://blogs.msdn.com/crathjen/commentrss.aspx?PostID=8618072</wfw:commentRss><description>&lt;P&gt;This was the most popular question asked at our booth (and perhaps all of the VSTS area) at Tech Ed Developers 2008. It was asked in various forms, but they all boil down to basically the same question: How should I manage branching and merging?&lt;/P&gt;
&lt;P&gt;Some folks are new to the concepts (e.g. many folks familiar with labels, sharing, and pinning in SourceSafe, but want to step up to TFS). Others have a system in place that they're unhappy with. Others have a system that is working, but they wonder (or even hope) that there is a better way they could be going about it.&lt;/P&gt;
&lt;P&gt;First, the bad news: &lt;STRONG&gt;There is no silver bullet&lt;/STRONG&gt;. There isn't a "right way" to go about this that applies to everyone. Even the solution we use internally has merits and drawbacks.&lt;/P&gt;
&lt;P&gt;Now the good news: There ARE some general trends and associated best practices; odds are good one of these will be similar to your unique situation. We also have a lot of resources, examples, and experience that we can share. Finally, we're always open to feedback on what needs we aren't meeting, so if it sounds like you have needs that we can't yet meet, &lt;STRONG&gt;please let us know&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Before I go farther, one disclaimer: I am &lt;STRONG&gt;not&lt;/STRONG&gt; an expert of this particular problem space. But, hopefully I know enough to get you started and point towards the experts.&lt;/P&gt;
&lt;P&gt;The first resource I suggest everyone check out is the &lt;A class="" title="Branching Guidance" href="http://www.codeplex.com/BranchingGuidance" target=_blank mce_href="http://www.codeplex.com/BranchingGuidance"&gt;TFS Branching Guidance on Codeplex&lt;/A&gt;. This content covers branching and Team Project structures, physical layout, some "anti-patterns", and includes a comparison to SourceSafe.&lt;/P&gt;
&lt;P&gt;I'll point to some previous blog posts that relate to this, but first, let me put my own spin on the topic.&lt;/P&gt;
&lt;P&gt;In my opinion, there are two fairly common models that a lot of users will fall into (one or the other, sometimes some of both):&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;You produce one (or a small number) of products, releasing and maintaining various versions over time (be it a website, shrink-wrap software, etc.)&lt;/LI&gt;
&lt;LI&gt;You have a lot of projects going on at once, and most of them have a finite lifecycle. Once it's "released", it goes into maintanence, but typically it makes more sense to spin up a new project than to keep working within the existing one.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For people in the first category, a three-branch model (typically called "dev-test-production" or something similar) works well. Some of the details vary; for example, if you publish to a website, you might re-use your test and production branches constantly, whereas, for shrink-wrap releases, you'd probably create separate versions of these branches for each major release, and potentially additional ones for minor releases. In either case, your ongoing feature work happens in the main branch (or development branches off of it); you branch (or merge into) the test branch when you're ready to stablize for a release, and you branch (or merge into) the production branch when it goes live. On the merge side, you'd take fixes as needed in each branch, and merge them back up (from prod to test, and from test to dev) as needed.&lt;/P&gt;
&lt;P&gt;For the second category, a branch per project makes perfect sense. If a given project has a formal release process, you might create the same dev-test-production structure underneath these branches as well. The key here is that the project-specific code and other artifacts are each in their own branch, while in the first model everything lives together. &lt;/P&gt;
&lt;P&gt;A frequent variation to this scenario is where there's a set of shared tools or code that spans many or all of the projects. In the SourceSafe world, these are frequently shared, but you can't do that in TFS. Instead, I'd probably recommend a separate branch (and/or project) for the shared components. They probably have their own release cycle - so you make that tools branch the "master" and branch it into each project that needs them. You can then roll out versions to each consuming project in a predictable way. You might also consider limiting (or even preventing) changes to these components from ever merging BACK into the parent from the project branches, but either approach can work depending on your situation.&lt;/P&gt;
&lt;P&gt;If neither of these scenarios sounds like your team, please leave comments/feedback - we can probably find a model that works for you.&lt;/P&gt;
&lt;P&gt;Finally, here's a few posts that talk about branching and merging:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Buck&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/buckh/archive/2004/06/14/155403.aspx" target=_blank mce_href="http://blogs.msdn.com/buckh/archive/2004/06/14/155403.aspx"&gt;More on branching and merging vs. sharing and pinning&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/buckh/archive/2004/06/14/155417.aspx" target=_blank mce_href="http://blogs.msdn.com/buckh/archive/2004/06/14/155417.aspx"&gt;A simple example using branch and merge&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/team_foundation/archive/2005/02/23/379179.aspx" target=_blank mce_href="http://blogs.msdn.com/team_foundation/archive/2005/02/23/379179.aspx"&gt;Branching, Merging, and Shelving&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Chris&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/crathjen/archive/2004/09/15/230155.aspx" target=_blank mce_href="http://blogs.msdn.com/crathjen/archive/2004/09/15/230155.aspx"&gt;Branching&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/crathjen/archive/2005/06/09/427397.aspx" target=_blank mce_href="http://blogs.msdn.com/crathjen/archive/2005/06/09/427397.aspx"&gt;Shelving vs. Branching/Merging vs. Labeling: Which should I use?&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;There are several other posts out there, but I think this are good places to start - if nothing else, to turn a few general questions into lots of specific ones! :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&lt;A class="" href="http://www.google.com/musics?lid=tlanLhu2ufO&amp;amp;aid=d4UmTC9WveO&amp;amp;sid=P5VOHcENWwN" target=_blank mce_href="http://www.google.com/musics?lid=tlanLhu2ufO&amp;amp;aid=d4UmTC9WveO&amp;amp;sid=P5VOHcENWwN"&gt;I have a smile...stretched from ear to ear...&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8618072" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Hatteras/default.aspx">Hatteras</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Team+Foundation+Server/default.aspx">Team Foundation Server</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Back from TechEd Developers 2008</title><link>http://blogs.msdn.com/crathjen/archive/2008/06/09/back-from-teched-developers-2008.aspx</link><pubDate>Mon, 09 Jun 2008 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8586982</guid><dc:creator>CRathjen</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/crathjen/comments/8586982.aspx</comments><wfw:commentRss>http://blogs.msdn.com/crathjen/commentrss.aspx?PostID=8586982</wfw:commentRss><description>&lt;P&gt;I'm back after a fun week at Microsoft TechEd Developers 2008. I answered tons of questions about Team System in general - and Version Control, Build, and Setup in particular. I've brought back a variety of feedback and feature requests.&lt;/P&gt;
&lt;P&gt;Over the course of the week, several topics emerged as common questions and themes. Over the next several blog posts, I'll try to address each of these.&lt;/P&gt;
&lt;P&gt;In rough order of popularity (measured by how many times the questions were asked in my hearing):&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Branching and Merging in TFS&lt;BR&gt;Example questions: "How should I do it? Is there a better way than...? Why should I use branching instead of labels in VSS?"&lt;/LI&gt;
&lt;LI&gt;Moving to TFS (specifically, version control) from existing systems&lt;BR&gt;Examples: "What's in TFS? Why should I move? How do I move? What is there besides version control?"&lt;/LI&gt;
&lt;LI&gt;TFS Upgrade&lt;BR&gt;Examples: "I want to&amp;nbsp;move from TFS 2005 to TFS 2008. Anything I should know? Does TFS upgrade also update my databases?"&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;I have commentary on each of these areas, and I'll include links to relevant resources for each as I go. If there are other topics you'd like me to address, just let me know and I'll add to the list.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&lt;A class="" href="http://www.google.com/musics?lid=s7qdaya_44F&amp;amp;aid=kteLDMrjybG&amp;amp;sid=WWdXXueWOOK" mce_href="http://www.google.com/musics?lid=s7qdaya_44F&amp;amp;aid=kteLDMrjybG&amp;amp;sid=WWdXXueWOOK"&gt;We're just two lost souls swimming in a fishbowl...&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8586982" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Admin+and+Ops/default.aspx">Admin and Ops</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>I'm at TechEd 2008</title><link>http://blogs.msdn.com/crathjen/archive/2008/06/03/i-m-at-teched-2008.aspx</link><pubDate>Tue, 03 Jun 2008 14:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8571385</guid><dc:creator>CRathjen</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/crathjen/comments/8571385.aspx</comments><wfw:commentRss>http://blogs.msdn.com/crathjen/commentrss.aspx?PostID=8571385</wfw:commentRss><description>&lt;P&gt;I know my blog has been on hiatus; but if any of you readers are attending TechEd in Orlando, Florida this week (June 2-6) and would like to meet me, here's your chance :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I'll be at the Team Foundation Server booth in the Technical Learning Center most of the week.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8571385" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/crathjen/archive/tags/Team+Foundation+Server/default.aspx">Team Foundation Server</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/crathjen/archive/tags/TechEd/default.aspx">TechEd</category></item></channel></rss>