TFS API 2010: Track a file across all branches

Using the TFS API I am trying to approximate bugs/file.

A bug (as I define it) originates from a file in a change set that has been associated with a work item that has type WorkItemType = 'Bug'. For example, in branch-a, branch-a/1.txt and branch-a/2.txt are checked in and associated with a 'Bug' work item. Call this changeset X. There are now two bugs in branch-a associated with those two files.

If I merge branch-a back into its parent (the root branch), the root also gains these bugs, so root/1.txt and root/2.txt are also bugs - basically the root branch has gained the buggy history of it child. Bugs can be inherited in this fashion. This property is preserved across renames. So if root/1.txt was renamed to root/hello.txt it's still a bug.

I start with iterating over all "Bug" work items in the TFS project: In this example there is a single work item, which is associated with changeset X, which is associated with changes on branch-a/1.txt and branch-a/2.txt (although those files could be renamed now in the present).

Now I want to know all places where branch-a/1.txt and branch-a/2.txt ended up (once again, even with renames).

So, given a Changeset cs and a Change c within cs, I want know for each branch if c made it into that branch and the most recent file name where c resides.

Another way to think about the problem is thinking about moving forward through history. I start at specific point in time with a change in a single branch. Now this change needs to be tracked all the way to the present.

Any ideas? I can provide clarification as needed.

Thank you!


Have you tried tracking the changeset?

View History on the file that has the change (1.txt) > Right Click on the changeset > Track Changeset > Check all visible > Visualize.

Not sure if this is exactly what you want but it might a good place to start.

Video that shows it: YouTube video

Not sure if it's possible using the API. This link seems to suggest that it's not possible using API calls. This link seems to suggest that it is possible.

链接地址: http://www.djcxy.com/p/31822.html

上一篇: SQL:查找每个跑步者的平均跑步天数

下一篇: TFS API 2010:跨所有分支机构跟踪文件