{"id":4893,"date":"2005-08-20T23:15:00","date_gmt":"2005-08-20T23:15:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/buckh\/2005\/08\/20\/why-doesnt-team-foundation-get-the-latest-version-of-a-file-on-checkout\/"},"modified":"2005-08-20T23:15:00","modified_gmt":"2005-08-20T23:15:00","slug":"why-doesnt-team-foundation-get-the-latest-version-of-a-file-on-checkout","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/buckh\/why-doesnt-team-foundation-get-the-latest-version-of-a-file-on-checkout\/","title":{"rendered":"Why doesn&#8217;t Team Foundation get the latest version of a file on checkout?"},"content":{"rendered":"<p>I&#8217;ve seen this question come up a few times.&nbsp; Doug Neumann, our PM, wrote a nice explanation in the Team Foundation forum (<a href=\"http:\/\/forums.microsoft.com\/msdn\/ShowPost.aspx?PostID=70231\">http:\/\/forums.microsoft.com\/msdn\/ShowPost.aspx?PostID=70231<\/a>).<\/p>\n<blockquote>\n<p>It turns out that this is by design, so let me explain the reasoning behind it.&nbsp; When you perform a get operation to populate your workspace with a set of files, you are setting yourself up with a consistent snapshot from source control.&nbsp; Typically, the configuration of source on your system represents a point in time snapshot of files from the repository that are known to work together, and therefore is buildable and testable.<\/p>\n<p>As a developer working in a workspace, you are isolated from the changes being made by other developers.&nbsp; You control when you want to accept changes from other developers by performing a get operation as appropriate.&nbsp; Ideally when you do this, you&#8217;ll update the entire configuration of source, and not just one or two files.&nbsp; Why?&nbsp; Because changes in one file typically depend on corresponding changes to other files, and you need to ensure that you&#8217;ve still got a consistent snapshot of source that is buildable and testable.<\/p>\n<p>This is why the checkout operation doesn&#8217;t perform a get latest on the files being checked out.&nbsp; Updating that one file being checked out would violate the consistent snapshot philosophy and could result in a configuration of source that isn&#8217;t buildable and testable.&nbsp; As an alternative, Team Foundation forces users to perform the get latest operation at some point before they checkin their changes.&nbsp; That&#8217;s why if you attempt to checkin your changes, and you don&#8217;t have the latest copy, you&#8217;ll be prompted with the resolve conflicts dialog.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve seen this question come up a few times.&nbsp; Doug Neumann, our PM, wrote a nice explanation in the Team Foundation forum (http:\/\/forums.microsoft.com\/msdn\/ShowPost.aspx?PostID=70231). It turns out that this is by design, so let me explain the reasoning behind it.&nbsp; When you perform a get operation to populate your workspace with a set of files, you [&hellip;]<\/p>\n","protected":false},"author":94,"featured_media":10268,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[6,8],"class_list":["post-4893","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-source-control","tag-team-foundation"],"acf":[],"blog_post_summary":"<p>I&#8217;ve seen this question come up a few times.&nbsp; Doug Neumann, our PM, wrote a nice explanation in the Team Foundation forum (http:\/\/forums.microsoft.com\/msdn\/ShowPost.aspx?PostID=70231). It turns out that this is by design, so let me explain the reasoning behind it.&nbsp; When you perform a get operation to populate your workspace with a set of files, you [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/posts\/4893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/users\/94"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/comments?post=4893"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/posts\/4893\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/media\/10268"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/media?parent=4893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/categories?post=4893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/tags?post=4893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}