views:

1038

answers:

5

I'm trying to migrate to TFS from VSS and I need to be able to show what files were checked in between two releases. In VSS we would just label the code for a release and view history between labels and generate a report to show the checkins and the comments. Is there a way to get similar results with TFS? Or show the differences between two changesets or labels?

+2  A: 

Right click on your desired folder on TFS (e.g. the root folder), you'll find following two options:

1, Apply Label - this allows you to apply label to a particular version of that folder. 2, Compare - this allows you to compare that folder between versions, and one of the choices is comparing by label.

FlyinFish
Compare is available in the right click menu for a file but not for folders. Do you use TFS 2005?
Ryan
yes, I am using TFS2005
FlyinFish
What version are you using?
FlyinFish
I'm using TFS2005. I think maybe that's a power tool addon? I'm going to try downloading that to see.
Ryan
Adding the power tool did let me compare the versions. This isn't quite what I was hoping for though. Our QA just wants to see the files checked in between labels and the comments on those checkins.
Ryan
As far as I know, there is probably not something like that shipped with default TFS package. The closest thing I can think of is the View History on a folder, but that probably is not what you seek.You might have to do some custom program for what you need, Richard's comment has some good advice on that matter.
FlyinFish
We wrote something similar using the TFS SDK, but there's already a build task which generates a list of changesets between builds. (we ripped off that code using reflector... Let us create our own reports.)
Massif
+4  A: 

The command line tool tf.exe gives you more options than the GUI (and can either give results in a Dialogue or as standard output --- good for feeding into further processing).

E.g.

tf hist . -r /version:C10~C1000

will list all the changesets affecting this folder and content recursively between changesets 10 and 1000.

See the documentation on MSDN.

If you need maximum flexibility, you can create your own commands using the TFS client assemblies. Unfortunately documentation is somewhat sparse.

Richard
+1  A: 

Right click on any node in TFS Source Control and choose 'View History' This will show you all changesets ordered by date descending.

Double click on those and you can see the detail about the change set: the comment, associated work items, and files that were changed.

Jeff Hall
A: 

As Jeff said, right-click on the project, any folder or file, and choose "View History" to see all changes. If you know when your labels were applied, it's easy to scroll down this list until you hit a particular date/time.

For an exact list between two labels or changeses, use "tf.exe history" (as Richard says) from a Visual Studio command prompt (in your start menu in the Visual Studio 2005 folder). For more info on this just execute "tf.exe help history".

For day to day changes, if you use TFS build you can see the changes since the last build at the bottom of the build information page (Double click the build name in Team Explorer, then double click the specific build. Scroll to the bottom of this page and open "associated changesets". I've set out CI build to not associate changesets, which means that our daily test build lists all changesets since the previous daily build - a great summary of the changes for our testers to get their teeth into.

Jason Williams
A: 

I was using the command line tf hist and getting the changesets to compare by finding the highest changeset in a label or branch changeset, but having a manual process and using the command line didn't go over too well here. I used Carl Daniel's code to write a little web application that will bind the changes to a datagrid.

If you're looking for something special the standard interface doesn't give you it's fairly simple to write your own application that links into TFS. I'd definitely suggest it.

Ryan