{"id":1154,"date":"2012-01-31T23:51:17","date_gmt":"2012-01-31T22:51:17","guid":{"rendered":"http:\/\/blog.eweibel.net\/?p=1154"},"modified":"2012-01-31T23:51:17","modified_gmt":"2012-01-31T22:51:17","slug":"tf-exe-or-maybe-the-most-useful-tool-for-tfs","status":"publish","type":"post","link":"https:\/\/blog.eweibel.net\/?p=1154","title":{"rendered":"TF.exe or maybe the most useful tool for TFS"},"content":{"rendered":"<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/visualstudio.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"visualstudio\" border=\"0\" alt=\"visualstudio\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/visualstudio_thumb.png\" width=\"181\" height=\"54\" \/><\/a>When you&#8217;ve to use <a href=\"http:\/\/en.wikipedia.org\/wiki\/Team_Foundation_Server\" target=\"_blank\">TFS<\/a>, then there are moments when you&#8217;re missing some features in the UI tools in Visual Studio. In those situations the console tool <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/z51z7zy0.aspx\" target=\"_blank\">tf.exe<\/a> is very useful. In this short blog post I summarized the commands I used the most.<\/p>\n<p><strong>Update an old version of a branch<\/strong><\/p>\n<p>It could happen, that the production branch or an older feature branch isn&#8217;t up-to-date, because somebody forgot one or several merges from the main branch. To fix that, there could be used the following statement:<\/p>\n<p>tf.exe merge \/recursive \/force \/version:T $\/Project\/Main\/Source $\/Project\/Production\/Source<\/p>\n<p><strong>Delete a branch permanently<\/strong><\/p>\n<p>After a while the number of merged feature branches increase. Normally, you would delete the merged feature branches, so they aren&#8217;t any longer visible in Visual Studio. But in my case, I display also the deleted items and this means, that I see all the deleted feature branches. To remove the old merged feature branches, there could be used the following statement:<\/p>\n<p>tf.exe destroy $\/Project\/Development\/FeatureX<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you&#8217;ve to use TFS, then there are moments when you&#8217;re missing some features in the UI tools in Visual Studio. In those situations the console tool tf.exe is very useful. In this short blog post I summarized the commands I used the most. Update an old version of a branch It could happen, that the production branch or an older feature branch isn&#8217;t up-to-date, because somebody forgot one or several merges from the main branch. To fix that, there&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/blog.eweibel.net\/?p=1154\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,5],"tags":[],"class_list":["post-1154","post","type-post","status-publish","format-standard","hentry","category-net","category-good-practices"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/plOV9-iC","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1264,"url":"https:\/\/blog.eweibel.net\/?p=1264","url_meta":{"origin":1154,"position":0},"title":"Migrate a VSS repository to TFS","author":"Patrick","date":"2. Aug 2012","format":false,"excerpt":"Recently I had to migrate parts from a Microsoft Visual SourceSafe 2005 repository to a Microsoft Team Foundation Server 2010 repository. In this blog post I show what I had to do and what the pitfalls were. The tool To migrate a repository you have at least two possibilities: Migrate\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":622,"url":"https:\/\/blog.eweibel.net\/?p=622","url_meta":{"origin":1154,"position":1},"title":"Branching practices","author":"Patrick","date":"6. Apr 2010","format":false,"excerpt":"In an environment where several developers work at the same code base or several features have to be implemented, then branching will be a topic. I was asked to create a branching guide for my current employer which use TFS as source code repository. Motivation In our projects I found\u2026","rel":"","context":"In &quot;Good practices&quot;","block_context":{"text":"Good practices","link":"https:\/\/blog.eweibel.net\/?cat=5"},"img":{"alt_text":"image","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/image_thumb3.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/image_thumb3.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/image_thumb3.png?resize=525%2C300 1.5x"},"classes":[]},{"id":116,"url":"https:\/\/blog.eweibel.net\/?p=116","url_meta":{"origin":1154,"position":2},"title":"Techdays 2009 in Bern","author":"Patrick","date":"15. Apr 2009","format":false,"excerpt":"I was last week at the Techdays 2009 in Bern. As expected there weren't a lot of new or interesting things. The most interesting topics were Azure (Cloud computing) and the next VisualStudio 2010. I visited following sessions: ADO.NET Data Services - Creating RESTful Services Overview Visual Studio 10 and\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1082,"url":"https:\/\/blog.eweibel.net\/?p=1082","url_meta":{"origin":1154,"position":3},"title":"Branch or not to branch","author":"Patrick","date":"22. Aug 2011","format":false,"excerpt":"That is a question? Yes, it is a question which you should ask yourself before to create a new branch or reuse an existing branch. There are other practices or possibilities to create new features in an existing software, which I will show in this blog post. Also there are\u2026","rel":"","context":"In &quot;Good practices&quot;","block_context":{"text":"Good practices","link":"https:\/\/blog.eweibel.net\/?cat=5"},"img":{"alt_text":"Fotolia_25836922_S","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/Fotolia_25836922_S_thumb.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":982,"url":"https:\/\/blog.eweibel.net\/?p=982","url_meta":{"origin":1154,"position":4},"title":"Jenkins and .Net","author":"Patrick","date":"24. Feb 2011","format":false,"excerpt":"This week I visited the first JUG\u2019s event in Bern. The topic was Jenkins (fork of Hudson). The presentation of Dr. Simon Wiest was very entertaining. He explained continuous integration and showed how easy it is to install, configure and run Jenkins. .Net integration in Jenkins Jenkins is from the\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"butler","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/butler_thumb.gif?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":303,"url":"https:\/\/blog.eweibel.net\/?p=303","url_meta":{"origin":1154,"position":5},"title":"From NUnit to MSTest","author":"Patrick","date":"30. Jun 2009","format":false,"excerpt":"Last week I migrated several projects from NUnit to MSTest. The developers use the Developer version of Microsoft Visual Studio Team System, so they have integrated unit-test support for MSTest. In this post I show you all the problems and work I had to migrate the tests from NUnit to\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/1154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1154"}],"version-history":[{"count":1,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/1154\/revisions"}],"predecessor-version":[{"id":1155,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/1154\/revisions\/1155"}],"wp:attachment":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}