Best TFS Viewer for a Team Lead - tfs

Is there a tool that can give you a quick view of all TFS changes across an entire day.
Essentially rather than seeing all of the changes one commit at a time, I'd like to see all the change done over the day. Essentially the viewer merges all the changes into one view.
We're using the new VisualStudio.com hosted TFS

Team Foundation Sidekicks is a great tool to use outside of Visual Studio to quickly look at changes and the current status of files.
Here is a breif overview:
History Sidekick application pane provides the following features:
View version control tree with files and folders (similar to Source
Control Explorer) Search item (file or folder) by name and select
found item in version control tree View selected item history either
for all users or filtered by user Export history list to CSV file
Compare file versions selected in history View selected item
properties and pending changes View selected item branches tree and
selected branch properties View selected item merge history; it is
possible to view separately all merges performed with selected item
as a merge target (merges to) or with selected item as a source
(merges from)
Compare merge target and source file versions in history View
selected item merge candidates in a tree view; it is possible to
select single merge source from the list Compare merge candidate file
version with latest version of target file View selected item labels
either for all users or filtered by user; the information displayed
includes item version in label Compare file versions between two
labels View changeset details supported in all lists containing
changesets Status Sidekick application pane provides the following
features:
View tree of pending changes filtered by specific user name (user may
be selected from list of valid users), TFS project name and change
creation date range View lock icon indication in pending changes tree
to easily identify locks View detailed list of pending changes in
selected folder in tree Customize detailed list format and export
list to CSV file Unlock one or more locked files/folders Undo one or
more pending changes on files/folders

In the VS "Source Control Explorer", you can right-click a folder and choose "Compare." In that dialogue, you can choose to compare a Source Control folder to itself, choosing a specific changeset or date for the second instance. This will give you the diff of what's changed in the last day.

Related

Find TFS items in other branches

Here is a slightly different take on this question (Find the tfs path of merged branch), different enough to deserve its own question.
In the above link, the authors describe how you can programmatically traverse the folder hierarchy using TFS API to determine the parent branch object from a folder or item within a branch, and then you can get the branch information for that branch.
However, a different question is: how do you use TFS API obtain a path to a different branch of the original folder or item, taking into account that the item may have been renamed or moved in the other branch?
For instance: if I have an object $/MyProject/Main/Foo/bar.txt, I can easily figure out that the parent branch is $/MyProject/Main using the method described. However, let's I also have the following versions of this file out there that were created by branching the original files:
$/MyProject/Dev/Foo/bar.txt
$/MyProject/Experiment/Foo/bar.renamed
$/MyOtherProject/Main/openbar.woohoo
How can I determine the list of references to the specific files or folders in a branch? Clearly there is a way to do this because Visual Studio's merge dialog automatically populates the list of available targets with all references to the source file or folder, even if the source is not a branch.
If TFS has been used to move files or rename them, as opposed to using the file system and then checking in 'new' files to TFS then you can use the history window to review the full history of a file, this will show you it's branch history and also any moves / renames that have occurred, this is because tfs uses an identifier for the file rather than its name.

Command line to trace product backlog item from label appied to source code

For my project requirement i have applied the label to source code modified in TFS2010.Now at the time of build i am supplying file name to do the build and deployment and these files are getting picked up as per label applied.But this approach will not tell me which file was modified in which backlog.Is there any commnd line available in TFS to get the product backlog item asscociated with the files modified be developer?
In build definition you have the parameter Associate Changesets and Work Items (under the Process tab and in the Advanced node); this parameter should be set to true
If your development team has been checking-in changes and associating each checkin with the relevent Work Item then the data is in there. The build by default will update the Integrated In value in the related work item, and in 2012+ all parent work items. So if you have been doing that the data is there.
There is however no OOB report to retrieve it. You can use the API or the Warehouse to get the data out.

View all files changed since branch (TFS)

Using VS2013 and/or VisualStudio.com, is it possible after creating a branch ("Main" branched to "Dev001") to view a list of all the files that differ between "Main" and "Dev001"?
For example, I'd like to see all the files that have been amended/created within the current branch, since it was branched.
The closest I have got is right-clicking the branch, selecting View History, then clicking each changeset to view the files in the Changeset Details panel, however, there are many changesets in there which is taking a long time.
Please note I am not using Git.
Just right click on your Main branch in Source Control Explorer an select Compare.... From there you can specify the path to your branch and the versions you would like to compare.

Is there a way to find out the source changeset from which a particular branch was created in TFS?

My case is the following. My team uses TFS 2012 for source control. My teammate has created a branch from a particular changeset (not the last for that moment) of another branch. What I need is to figure out from which exact changeset the branch was created, and which branch was used.
I tried to find it in "View History" of Source Control Explorer in VS. If to compare with svn, there is a property in the revision of creating a branch that stores the initial revision and initial location from which the branch was created. In TFS, changeset details look loke they do not contain such information.
Yes, there is. discens is right, you might use Track Changeset functionality. By the way, a similar question has already been answered on SO, here it is. The answer contains a link to a blogpost which contains many details, including API and a custom command-line tool.
However, the way is not so obvious. To clarify this, here is a brief step-by-step instruction of how to achieve the result in Source Control Explorer:
Locate your child branch in Source Control Explorer
Right-click on it to get context menu, select View History.
Locate the first changeset of the branch in the History viewer, right-click on it to get context menu, select Track Changeset.
You will see the scheme of branches and the structure of their inheritance. On this step, you are finding out the parent.
There is a checkbox near every detected branch, but the parent one of your child is normally unchecked. Check it first. The child branch has to be checked unconditionally, so the two checkboxes to be selected are the parent and the child.
Don't forget to locate your child branch in Path filter input field using Browse... button.
Press Visualize button at the bottom. You will see the picture with rectangles repesenting these two branches. The parent branch rectangle should include sorted list of changesets in this branch. The list can be huge, but the source changeset (from which your child has been originally created) should be the last.
???? PROFIT!!!!
You can see a sample screenshot of the final steps in the blogpost.
You can use Track Changeset feature which I believe will show you the history of a branch and what changesets it contains.
You can get to this feature from the Source Control Explorer

View TFS checkin history through merges?

In TFS when you merge branch A to branch B and checkin, you get a single changeset on B (typically with a comment like "merged A->B").
This means B doesn't have any of the checkin history from A. So if someone created a new file on branch A, you can't tell who created it from branch B. And if someone updated a file on A, you can't tell who did the update from branch B.
Is there any way to see this kind of detailed changeset history across branches? Some kind of power toy, or third party tool, or anything?
Update: The TFS Power Toy tfpt history /followbranches tool does not "expand merges," it only "expands branches" and therefore doesn't solve this problem.
Right now 'tf merges' and 'tf merges /f:detailed' provide the most complete merge tracking information. However, they are command-line only. And the only 3rd party tool I know of that attempts to provide a GUI is TFS Sidekicks.
This gets a lot easier in TFS 2010. See screenshots at:
http://blogs.msdn.com/mitrik/archive/2009/06/08/first-class-branches.aspx
http://msdn.microsoft.com/en-us/library/dd405662(VS.100).aspx
http://msdn.microsoft.com/en-us/library/dd465202(VS.100).aspx
http://blogs.msdn.com/bharry/archive/2008/01/16/new-features-to-understand-branching-merging.aspx (old prototype, has changed somewhat since then)
TFS 2010 will include support for this.
Brian Harry talks about it in this presentation.
You will now be able to see where a change originated and who made it after the change has been merged to a different branch.
TFS SideKicks is another good tool for supplementing TFS default tools.
The TFS 2008 power toys does come with the tf history /followbranches command. But that command doesn't expand merges.
All it does is show you the change set history from A before branch B was created. What it doesn't show you is what change sets were merged from A -> B after the branch was created.
In other words, what I want to see is all the change sets that were made on a source branch and then applied to a target branch as part of merge operation.
I think you would find TFS Sidekicks helpful, especially the history area:
History Sidekick application pane provides the following features:
View version control tree with files and folders (similar to Source Control Explorer)
Search item (file or folder) by name and select found item in version control tree
View selected item history either for all users or filtered by user
Export history list to CSV file
Compare file versions selected in history
View selected item properties and pending changes
View selected item branches tree and selected branch properties
View selected item merge history; it is possible to view separately all merges performed with selected item as a merge target (merges to) or with selected item as a source (merges from)
Compare merge target and source file versions in history
View selected item merge candidates in a tree view; it is possible to select single merge source from the list
Compare merge candidate file version with latest version of target file
View selected item labels either for all users or filtered by user; the information displayed includes item version in label
Compare file versions between two labels
View changeset details supported in all lists containing changesets
Team Foundation Sidekicks
Might want to try the TFS Follow branch History tool:
http://www.codeplex.com/TFSBranchHistory
"TFS Branched History" plugin exists at Microsoft Gallery:
http://visualstudiogallery.msdn.microsoft.com/7d4f37b6-f9a4-44c6-b0a0-994956538a44
Plugin does insert "Branched History" button into the context menu of Source Control Explorer (TFS)
The button icon is with clock like standard "History" but with blue arrow:
If you click "Branched History", new window will be opened and Path property will be set to the current Source Control Explorer path:
Click "Run query" to get results at the "History" tab:
From context menu you can query standard Changeset Details and Compare File (Folder) dialogs.

Resources