<?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>Jim Lamb : Rosario</title><link>http://blogs.msdn.com/jimlamb/archive/tags/Rosario/default.aspx</link><description>Tags: Rosario</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Coming soon – Gated Check-in</title><link>http://blogs.msdn.com/jimlamb/archive/2009/01/23/coming-soon-gated-check-in.aspx</link><pubDate>Sat, 24 Jan 2009 01:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9373298</guid><dc:creator>JimLamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jimlamb/comments/9373298.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jimlamb/commentrss.aspx?PostID=9373298</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jimlamb/rsscomments.aspx?PostID=9373298</wfw:comment><description>&lt;P&gt;&lt;EM&gt;This is the first in a series of planned blog posts on new features coming in Team Foundation Build 2010.&lt;/EM&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P&gt;Team Foundation Build 2010 includes a new feature that lets you reject check-ins if the associated changes cannot be successfully (and automatically) merged with the current sources and built using a build definition with a new trigger. Changes that do merge and build successfully are committed to the version control repository on behalf of the user who originally submitted the check-in. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Configuring a Build Definition for Gated Check-in&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Gated check-in is exposed as a new trigger type in the Build Definition editor. In the same way that you would enable continuous integration, you can enable gated check-in. When you do, be sure to review the workspace mapping associated with the build definition. Any check-in that affects that workspace mapping will be intercepted at the server and shelved (after prompting the user on the client-side for confirmation). &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Gated Check-in Data Flow&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/image_4.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=443 alt=image src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/image_thumb_1.png" width=600 border=0 mce_src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Caveats, Provisos, etc.&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;There are some edge cases to be aware of when using gated check-in:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If you have two build definitions with overlapping workspace mappings that are both gated and a user submits a check-in that affects them both, the user will get to pick which one gets built to verify their changes. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;If the changes merge and build successfully, they get committed to the repository. This leaves the user’s local workspace in a state where they have pending changes that have actually already been committed. There is an “Update Workspace” command that fixes up their workspace to clear the pending state from those changes but it can create some confusion. It’s also important to note that, due to the automatic merge, the changes that get committed may not be identical to the changes the user submitted. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Builds triggered by gated check-ins are serialized so that only one build of a gated build definition can execute at a time (even within a pool of build resources). This was done to preclude the possibility of conflicting changes getting submitted. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Here’s a somewhat dated, though still informative, video walkthrough of the gated check-in feature:&lt;/P&gt;
&lt;DIV class=wlWriterEditableSmartContent id=scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7817b42a-4ff7-47fa-a376-4583079156bf style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;
&lt;DIV id=b8d66136-fff9-45de-b9f6-7ad2e0f9d007 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;
&lt;DIV&gt;&lt;A href="http://video.msn.com/video.aspx?vid=4ffe2c3e-c866-49e6-8d0b-e7e1e443e30c&amp;amp;from=writer" target=_new mce_href="http://video.msn.com/video.aspx?vid=4ffe2c3e-c866-49e6-8d0b-e7e1e443e30c&amp;amp;from=writer"&gt;&lt;IMG style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" alt="" src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/video657f2f64fcdc.jpg" onload="var downlevelDiv = document.getElementById('b8d66136-fff9-45de-b9f6-7ad2e0f9d007'); downlevelDiv.innerHTML = &amp;quot;&lt;div&gt;&lt;embed src=\&amp;quot;http://images.video.msn.com/flash/soapbox1_1.swf\&amp;quot; quality=\&amp;quot;high\&amp;quot; width=\&amp;quot;432\&amp;quot; height=\&amp;quot;364\&amp;quot; wmode=\&amp;quot;transparent\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; pluginspage=\&amp;quot;http://macromedia.com/go/getflashplayer\&amp;quot; flashvars=\&amp;quot;c=v&amp;amp;v=4ffe2c3e-c866-49e6-8d0b-e7e1e443e30c&amp;amp;from=writer&amp;amp;mkt=en-US\&amp;quot; &gt;&lt;\/embed&gt;&lt;\/div&gt;&amp;quot;;" galleryimg="no" mce_src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ComingsoonGatedCheckin_F974/video657f2f64fcdc.jpg"&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9373298" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jimlamb/archive/tags/screencast/default.aspx">screencast</category><category domain="http://blogs.msdn.com/jimlamb/archive/tags/Rosario/default.aspx">Rosario</category></item><item><title>Integrating Dependencies into Team Build 2010</title><link>http://blogs.msdn.com/jimlamb/archive/2008/11/03/integrating-dependencies-into-team-build-2010.aspx</link><pubDate>Mon, 03 Nov 2008 23:40:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9034991</guid><dc:creator>JimLamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jimlamb/comments/9034991.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jimlamb/commentrss.aspx?PostID=9034991</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jimlamb/rsscomments.aspx?PostID=9034991</wfw:comment><description>&lt;p&gt;I was just reading Brad Butt's &lt;a href="http://threeisit.com/post/Suggestions-for-Microsoft2c-Part-1.aspx"&gt;Suggestions for Microsoft, Part 1&lt;/a&gt; and I thought I'd take the opportunity to let him know that we are addressing two of his three frustrations in Team Build 2010.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Brad's Frustration #1: MSTest cannot stand alone from the Visual Studio IDE&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Team Test team is planning to provide us with a redistributable package that encapsulates MSTest.exe and all of its dependencies. We plan to integrate that into the Build Service installation for Team Build 2010 meaning that you'll be able to run your automated tests on a default build service installation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Brad's Frustration #2: VSTS Code Coverage only works with MSTest&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Unfortunately, I can't help Brad with this one. Hopefully it's somewhat mitigated by what we're doing with frustration #1.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Brad's Frustration #3: MSBuild can't build my MSI&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;You can work around this limitation by invoking DevEnv on a Visual Deployment (vdproj) project, but I'll admit it's less than ideal. We are, however, integrating the WiX redistributable into the Team Build 2010 installer as well so that you'll be able to build your WiX projects on a default build service installation. You'll still have to port your Deployment Project to WiX which may be a fairly involved process depending on the complexity of your installer.&lt;/p&gt; &lt;p&gt;It's great to get validation from members of the .NET community like Brad that we're on the right track. I just wish we could get these features out to you faster. I do encourage everyone to keep on blogging, posting to the forums, etc. We really are paying attention and doing our best to make VSTS/TFS the very best team software development solution out there.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9034991" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jimlamb/archive/tags/Rosario/default.aspx">Rosario</category></item></channel></rss>