Mit TFS 2010 gibt es die Möglichkeit, Änderungen grafisch innerhalb der Branch Hierarchie nachvollziehen zu können. Grundsätzlich gehören erst mal alle Branches zu einer Hierarchie, die durch eine Parent/Child Relation verknüpft sind, was automatisch passiert, wenn von einer Branch ein zweiter Branch erstellt wird. Branches, die durch Parent/Child Relationen verknüpft sind, werden auch “First Class Branches” in diesem Kontext genannt. Zusätzlich gibt es noch eine Merge Relation zwischen Branches, die entweder durch einen Baseless Merge erzeugt wird oder indem man eine Branch durch den Befehl Re-parent aus der Hierarchie entfernt. Wie kann ich nun Änderungen Visualisieren, die von einem Branch außerhalb der Hierarchie via Merge überführt wurden?

Nehmen wir folgende einfache Hierarchie an. Dev2 hat eine Relation mit Main durch einen Baseless Merge erhalten.

image

Die Änderung Chg 206 wurde via Merge nach Main überführt und soll jetzt visualisiert werden. Hierzu muss in den FilterOptionen “ Include branches from all hierarchies” gewählt werden:

image 

Jetzt noch die Branches selektieren, die in der Visualisierung berücksichtigt werden sollen:

image

Man sieht, dass das Chg206 nach Main via Merge überführt wurde:

image

Timeline:

image

 

 

 

 

Wenn nun Chg207 via FI von Main nach Dev  durchgeführt wird, sieht das Tracking von Chg206 wie folgt aus:

image

Eine Limitation der Visualisierung ist, dass Sie nur auf Branch Objekte und deren Relationen funktioniert. Wäre zum Beispiel der Baseless Merge mit einem Unterverzeichnis von Main z.B. Main\MyFolder durchgeführt worden, wäre ein anschießender Merge nach Main\MyFolder nicht visualisierbar, da MyFolder kein Branch Objekt ist.

Hinweis:   Das Branch Modell sollte idealerweise aus First Class Branches bestehen.

Viel Spass