Generating File Difference Report from TFS
Many times, it’s important to provide configuration changes between two released to operations team. This type of changes are required to be specified in the release notes and it could be quite challenging to implement manual process for software development
team to keep track of such changes. PLUS this changes could include not only configuration file changes but also localization and skin changes for a product. Such changes are important to be highlighted in the release notes.
For every release we manually go through each change & ship those changes to the customers as part of the release process.
Generating File Changes feature automates the above process up to an extent. User shall provide ChangeSet range and along with file extensions for which the changes are required to be reported out from a given branch.
Follow the steps below to generate file changes output in a document file.
1. Start TFS ChangeLog application by following Windows Start Menu >>> All Programs >>> TFSChangeLog >>> TFSChangeLog. You will now see
TFS ChangeLog Generator screen as below.
2. Click on Connect to TFS button and you will see Connect to Team Project screen as below.
3. In my case, I’m using https://dharmeshshah.tfspreview.com as my server. You will have to configure TFS Server if it’s not already present in
Select a Team Foundation Server drop down list box. Please contact your TFS Administrator who should help you with necessary connection details about your TFS Sever. Once you are logged on to your TFS Server, you will have to choose appropriate
Team Project Collection and Team Project and then click on Connect button. On successfully connecting to Team Project, you will now see list of all the branches from your Team Project appearing in the Branch Tree view as per the screen
4. Select appropriate branch and then click on Get ChangeSets button. In my case I’m selecting
$/Test_ConfigChanges/Main branch. TFS ChangeLog will now populate Start From and
End To list boxes and will automatically set lowest value in Start From list box and highest value in
End To list box.
5. Select appropriate changeset in Start From and End To list boxes to form changesets range that will be used for generating release notes. TFS ChangeLog expects that
End To changeset should be great then Start From changeset. Now type in file extension(s) (it’s a comma separated list of file extensions) for which you want to generate file difference in
Enter extensions for file changes text box. In my example, I’m going to use XML and JPG as per screen below.
6. Now Click on Generate File Changes button and at the end of the process it will show following dialog box to notify that completion of generating file changes.
7. Click on Yes button to see the file difference output. In my case it shows following information in the summary section and then information related to new file which is added during the selected changeset range history.
Note that if the file has been added and later modified / moved / renamed within the given changeset range then it will show up as only newly added file with most latest revision as per the selected changeset range.
In the output folder, which is generally fount at C:\Users\[UserName]\AppData\Local\TFSChangeLog, TFS ChangeLog application produces two files. First one is the document file and the other one is a text file. Document file shows formatted difference
information in different colour highlighting Add, Modify and Remove sections of the XML file.
The diff output is just for the user’s verification whether all the changes are present in the formatted doc file. The previous (old) version of the line will be in red color to distinguish that line is being modified & the newer line will be in green
color. For image files only the name will be written to the doc file since it is not useful to write the image bitmap in the doc file. The supported file extensions as of now are -
resx, config, skin, xml, css, png, jpeg, jpg, bmp, gif, thm, tif, yuv, psd.
Possible change type operations handled are – add, edit, delete & rename which are the most common scenarios.
Note: TFS ChangeLog application does not support generating difference for xxxxxx.exe.config at this stage.
Generate File Changes feature is available from GUI as well as command line user interface.