{"id":3503,"date":"2006-09-07T22:15:00","date_gmt":"2006-09-07T22:15:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/buckh\/2006\/09\/07\/more-power-new-power-toy-release-tfpt-includes-vss-style-project-difference\/"},"modified":"2006-09-07T22:15:00","modified_gmt":"2006-09-07T22:15:00","slug":"more-power-new-power-toy-release-tfpt-includes-vss-style-project-difference","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/buckh\/more-power-new-power-toy-release-tfpt-includes-vss-style-project-difference\/","title":{"rendered":"More power: New power toy release (tfpt) includes VSS-style project difference!"},"content":{"rendered":"<p>[UPDATE 8\/9\/07]&nbsp; I fixed the broken link to the power tools page.<\/p>\n<p><a href=\"http:\/\/blogs.msdn.com\/bharry\">Brian Harry<\/a> announced the latest release of the Team Foundation Power Toys in the post, <a href=\"http:\/\/blogs.msdn.com\/bharry\/archive\/2006\/09\/07\/744993.aspx\">New TFS Power Toys Available!<\/a>.&nbsp; In his post he gives a quick description of each of the new commands and the major enhancements.<\/p>\n<p>One of the most important aspects of this release is that tfpt is no longer buried in a 300 MB download.&nbsp; Here&#8217;s the new slim and trim 1 MB download: <a href=\"http:\/\/go.microsoft.com\/?linkid=5422499\">http:\/\/go.microsoft.com\/?linkid=5422499<\/a>.&nbsp; That&#8217;s a 300-fold improvement!&nbsp; Don&#8217;t expect that kind of improvement in the next release.&nbsp; \ud83d\ude09<\/p>\n<p>After you install the power toys, you will find <font face=\"Courier New\">tfpt.exe<\/font> in <font face=\"Courier New\">C:Program FilesMicrosoft Team Foundation Server Power Toys<\/font>.<\/p>\n<p>While Brian gives you an overview of everything, I wanted to point out a few things in particular.<\/p>\n<p><strong>Work Item Tracking commands<\/strong><\/p>\n<p>Included in this release is a pair of tfpt commands for work item tracking: <font face=\"Courier New\">query<\/font> and <font face=\"Courier New\">workitem<\/font>.&nbsp; These were actually done back in the early spring (<a href=\"http:\/\/blogs.msdn.com\/jpricket\/\">Jason Prickett<\/a> wrote them back when he worked on WIT), but they didn&#8217;t make it into the binary that went into the VS SDK and that binary never got updated after February.&nbsp; Thankfully, that&#8217;s all in the past now.<\/p>\n<p>So what&#8217;s so cool about a command line for work item tracking?&nbsp; Well, it gives you a great way to be able to create or modify work items from scripts.&nbsp; Or maybe just bulk assign all of your work items to someone else.&nbsp; The commands allow you to run stored queries, run arbitrary WIQL queries, create new work items, update existing work items, output work items in XML, upload and download attachments, and more.<\/p>\n<p>Here are the examples from the help for the workitem command.&nbsp; Unfortunately, the help produced by the command may be a little confusing because it looks like it takes an option called <font face=\"Courier New\">\/fieldvalues<\/font> and an option called <font face=\"Courier New\">\/fields<\/font>.&nbsp; The correct option is <font face=\"Courier New\">\/fields<\/font>.<\/p>\n<blockquote>\n<p>Creating a new Bug work item with a title of &#8216;New&#8217; and assigned to Jason<br><font face=\"Courier New\">tfpt workitem \/new project1Bug \/fields:&#8221;Title=New;Assigned To=Jason&#8221;<\/font> <\/p>\n<p>Updating work item 123 with field values from a file<br><font face=\"Courier New\">tfpt workitem \/update 123 \/fields:@myFieldValues.txt<\/font> \n<\/p>\n<p>Updating all work items assigned to me to be assigned to Jason (uses Query)<br><font face=\"Courier New\">tfpt query \/format:id &#8220;project1publicMy Work Items&#8221; | tfpt workitem \/update @ \/fields:&#8221;Assigned To=Jason&#8221;<\/font><\/p>\n<\/blockquote>\n<p>Whenever you specify &#8220;<font face=\"Courier New\">@<\/font>&#8221; with the <font face=\"Courier New\">\/update<\/font> option of the <font face=\"Courier New\">workitem<\/font> command, it treats what it reads from standard input as arguments.&nbsp; So, that last example produces a list of work item IDs from the <font face=\"Courier New\">query<\/font> command that are then updated to be assigned to Jason. \n<\/p>\n<p>If you run these commands from a directory that&#8217;s mapped to a workspace, you don&#8217;t need to specify the server.&nbsp; Otherwise, you can use&nbsp;<font face=\"Courier New\">\/s:http:\/\/yourserver:8080<\/font> to specify the server. \n<\/p>\n<p><strong>Online<\/strong> \n<\/p>\n<p>The online command gets a new option, <font face=\"Courier New\">\/diff<\/font>, that was added by <a href=\"http:\/\/blogs.msdn.com\/michalma\/\">Michal Malecki<\/a>, a developer on the version control team.&nbsp; It checks the MD5 hash code for writable files and pends an edit only on files that are different. \n<\/p>\n<p>Also, the <font face=\"Courier New\">\/nuke<\/font> option has been renamed to <font face=\"Courier New\">\/purge<\/font>.&nbsp; The functionality is unchanged. \n<\/p>\n<p><strong>History<\/strong> \n<\/p>\n<p>The <font face=\"Courier New\">history<\/font> command is in the old release as well, but I don&#8217;t think I&#8217;ve ever mentioned why it is significant.&nbsp; The power toy version is a copy of the regular <font face=\"Courier New\">tf.exe history<\/font> command, but it has a <font face=\"Courier New\">\/followbranches<\/font> option added by Bill Tutt, a developer on the version control team.&nbsp; The <font face=\"Courier New\">\/followbranches<\/font> option causes the <font face=\"Courier New\">history<\/font> command to include the history of any branch ancestors of the file being queried.&nbsp; Here&#8217;s an example. \n<\/p>\n<blockquote>\n<p><font face=\"Courier New\">D:codeCommandLineBuild&gt;tfpt history \/followbranches main.cs<br>Changeset Change&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment<br>&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br>102025&nbsp;&nbsp;&nbsp; branch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;somedev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7\/29\/2006&nbsp;&nbsp;Branching to create nex<\/font> \n<\/p>\n<p><font face=\"Courier New\">$\/Code\/v2\/CommandLineBuild\/Main.cs;C102025 was branched from $\/Code\/v1\/CommandLineBuild\/Main.cs;C101367: <\/font>\n<\/p>\n<p><font face=\"Courier New\">Changeset Change&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment<br>&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br>101367&nbsp;&nbsp;&nbsp;&nbsp;edit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;somedev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;7\/27\/2006&nbsp; fixed a bug<br><\/font><font face=\"Courier New\">11367&nbsp;&nbsp;&nbsp; &nbsp;add&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;somedev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5\/25\/2005&nbsp; Adding the initial supp<\/font><\/p>\n<\/blockquote>\n<p>This command only looks at branches, not baseless merges (the code uses QueryBranches() and QueryHistory() in a loop). \n<\/p>\n<p><strong>TreeDiff (VSS-style project difference)<\/strong> \n<\/p>\n<p>Here&#8217;s what so many of you have been waiting for.&nbsp; A huge number of users have given us feedback that they want a VSS-style project difference GUI.&nbsp; Sure, there are <a href=\"http:\/\/blogs.msdn.com\/buckh\/archive\/2006\/04\/06\/project_diff.aspx\">code<\/a> <a href=\"http:\/\/blogs.msdn.com\/roberthorvick\/archive\/2006\/04\/07\/571043.aspx\">samples<\/a>, but now you can have the real thing!&nbsp; This was written by&nbsp;one of our summer interns, Taylor, and he did a great job (some of you may recall that&nbsp;<a href=\"http:\/\/blogs.msdn.com\/buckh\/archive\/2006\/03\/02\/shadow_folders.aspx\">tfpt.exe and the first set of commands&nbsp;were written by&nbsp;Philip<\/a>, one of our&nbsp;summer interns last year).&nbsp; Brian&#8217;s post has&nbsp;this <a href=\"http:\/\/www.bdharry.members.winisp.net\/BlogImages\/NewTFSPowerToysAvailable_8214\/treediff3.jpg\">screenshot<\/a>. \n<\/p>\n<p>Brian&#8217;s post also includes information on the new bind command and updates to the annotate command. \n<\/p>\n<p>tags: <a href=\"http:\/\/technorati.com\/tag\/tfs\" rel=\"tag\">tfs<\/a>, <a href=\"http:\/\/technorati.com\/tag\/team+foundation+server\" rel=\"tag\">team foundation server<\/a>, <a href=\"http:\/\/technorati.com\/tag\/tfpt\" rel=\"tag\">tfpt<\/a><\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[UPDATE 8\/9\/07]&nbsp; I fixed the broken link to the power tools page. Brian Harry announced the latest release of the Team Foundation Power Toys in the post, New TFS Power Toys Available!.&nbsp; In his post he gives a quick description of each of the new commands and the major enhancements. One of the most important [&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,7,8],"class_list":["post-3503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-source-control","tag-team-build","tag-team-foundation"],"acf":[],"blog_post_summary":"<p>[UPDATE 8\/9\/07]&nbsp; I fixed the broken link to the power tools page. Brian Harry announced the latest release of the Team Foundation Power Toys in the post, New TFS Power Toys Available!.&nbsp; In his post he gives a quick description of each of the new commands and the major enhancements. One of the most important [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/posts\/3503","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=3503"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/posts\/3503\/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=3503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/categories?post=3503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/buckh\/wp-json\/wp\/v2\/tags?post=3503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}