2008-09-16 5 views
12

In Team Foundation Server, ich weiß, dass Sie die Annotate Funktion verwenden können, um zu sehen, wer zuletzt jede Zeile in einer bestimmten Datei bearbeitet (äquivalent zu "Schuld" in CVS). Ich möchte Annotate für jede Datei in einem Projekt ausführen und einen zusammenfassenden Bericht über alle Entwickler erhalten, die eine Datei im Projekt bearbeitet haben und wie viele Codezeilen sie derzeit "besitzen" Projekt.TFS Annotate/beschuldigen zusammenfassenden Bericht für ein Projekt

Abgesehen von systematisch Annotate jeder Datei laufen, kann ich keinen Weg sehen, dies zu tun. Irgendwelche Ideen, die diesen Prozess beschleunigen würden?

PS - Ich mache das, um zu sehen, wie viel von einem Beratercode noch in einem bestimmten (ziemlich großen) Projekt verbleibt, um meine Entwickler nicht im Auge zu behalten, falls Sie sich Sorgen um meine Motivation machen :)

+0

http://blogs.msdn.com/buckh/archive/2006/03/13/annotate.aspx –

+0

Dank, @SqlRyan hast du das Werkzeug gemacht? – Quincy

+0

@Quincy Wow, ich kann nicht glauben, dass das vor 7 Jahren war - ich bin in eine DBA-Rolle eingezogen und ich bin kein Entwickler mehr, also stellt sich heraus, dass dies das letzte Mal war, dass ich tun musste this :) Das heißt, es ist immer noch interessant und auf der Liste, aber ich habe nie am Ende ein Dienstprogramm, das es getan hat. Es könnte sogar native Funktionalität sein, nachdem sie 4 (?) Mehr Releases hatte, seit diese Frage gestellt wurde! – SqlRyan

Antwort

16

Es ist einfach genug, den Befehl "tf.exe history" rekursiv über ein Verzeichnis von Dateien in TFS zu verwenden. Dadurch erfahren Sie, wer welche Dateien geändert hat.

Aber was Sie suchen, ist ein bisschen mehr als das - Sie möchten wissen, ob die neuesten Versionen von Dateien Zeilen haben, die von einem bestimmten Benutzer geschrieben wurden.

Die Team Foundation Power Tools werden mit einer Befehlszeilenversion von Annotate namens "tfpt.exe annotieren" geliefert. Dies hat eine/noprompt-Option, um die Ausgabe an die Konsole zu leiten, aber es gibt nur die Änderungssatz-ID aus - nicht den Benutzernamen.

Sie könnten auch das TFS VersionControl-Objektmodell verwenden, um ein Werkzeug zu schreiben, das genau das tut, was Sie brauchen.

+0

Das scheint nahe zu sein, was ich gerne machen würde, obwohl ich das Aggregieren noch selbst machen muss. Ich werde diesen Code wahrscheinlich als Sprungbrett verwenden, um mein eigenes Werkzeug zu schreiben, da ich bezweifle, dass dies das letzte Mal ist, dass ich das tun muss. – SqlRyan

+0

@SqlRyan Hast du am Ende eine Konsole App/Tool geschrieben, um dies zu tun? Wenn ja, könnten Sie es teilen? – im1dermike

1

Wenn Sie die TFS Power Tools installieren (mindestens für VS2005); es heißt annotiert.

Es könnte Teil VS2008 ...

1

Beschriften sein ist jetzt Teil von Visual Studio (ich glaube, es war in VS 2010 eingeführt).

Docs

1

Sie TFS Analyse Cube verwenden können, um einen Code Churn Bericht zu sehen zu erzeugen, was ich glaube, ist etwas, was Sie möchten.

0

Ich schreibe eine Antwort auf eine 8 Jahre alte Frage :). Es ist nicht wirklich eine vollständige Antwort, aber ein Vorschlag, in Excel-Berichte für TFS zu suchen.

TFS2013/2015 on prem hat etwas einen Excel-Bericht, der verwendet werden kann, um Code Churn zu visualisieren.

In VS offenen Team Explorer dann "Dokumente" und explodieren dann "Excel-Berichte". Ich glaube, Code-Churn-Bericht hat so etwas wie diskutiert. Der Bericht wird von einer Standard-Projektvorlage erstellt, daher denke ich, dass tfs2013 in Prem nur erstellt.

-Code Churn Excel Report VS2015 https://msdn.microsoft.com/en-us/library/dd695782.aspx

0

Ich hatte sehr ähnliche Anforderung in einer Datei Details von bestimmten Attribut erhalten z.B. Wer hat hinzugefügt, wann, verwandte Arbeitselemente usw.; Nach GitHub Projekt wird mit Umsetzung erforderlichen Angaben zu erhalten und benötigt nur minimale Änderungen mit mehreren Dateien oder Projekt arbeiten -

SonarQube SCM TFVC plugin

Es Analyse erfordert mit dem Team Foundation Server-Objektmodell installiert (Download von Windows-Rechnern ausgeführt werden für TFS 2013).

Dieser Blog-Eintrag ist auch mit guter explaination und Beispielanwendung -

TFS SDK: Connecting to TFS 2010 & TFS 2012 Programmatically