Log the sources and result of a Merge when a merge conflict is resolved to allow later review.
More often than we would like we find that something went wrong in a previous merge that caused incorrect changes to be checked in. We would like a method to review the merge after the fact so we can identify the cause and apply any corrective actions that are required.
This could be turned off via a setting, but we should be able to make this merge log be a mandatory part of a check-in.
This would require the TFS tools to detect that a merge was required and flag the checked out file in the user's workspace that the merge was needed.
The following are the needed steps for this:
1. Detect that there is a merge conflict in the workspace for a specific file and set a flag it that indicates this.
2. Record the two sources and the result of a Merge (a "log") when a merge conflict is resolved. This should be able to handle multiple merges that occur during a single checkout (the extreme case).
3. Store that data in TFS when the merged file is checked in. Clear the merge conflict flag at that time. If a merge "log" is marked as mandatory then fail the check-in if the "log" is missing.
4. Allow users to open the data to show the applied merge results, and to compare either source of the merge to an existing version. This should be able to be done even if the file has not yet been checked in.