2016-09-09 2 views
1

Eines meiner Projekte in TFS zeigt Änderungssets immer wieder als nicht zusammengefügt zwischen den Zweigen an, nachdem ich sie bereits zusammengeführt und festgeschrieben habe. Ich habe die Funktion Spurwechselsatz verwendet und auf die Schaltfläche Visualisieren geklickt, um zu sehen, ob die Änderung zusammengeführt wurde. Es zeigt, dass es zusammengeführt wurde, aber eine andere Hintergrundfarbe und ein Sternchen hat. Ich habe die Hilfe und es gibt diese Erklärung:Wie kann ich einen teilweise zusammengesetzten Änderungssatz in TFS auflösen?

Wenn eine Verzweigung einige empfangen (aber nicht alle) der Änderungen in einem changeset wird der Zweig mit einem Muster gefüllt, und ein Sternchen folgt die changeset Zahlen innerhalb dieser Zweig. Zum Beispiel zeigt die vorhergehende Darstellung, dass nur einige der Änderungen in changeset 38 mit dem Testzweig zusammengeführt wurden Track Changes Help

Ich verstehe nicht, wie es ist, dass ich nur zum Teil jener Change verschmolzen. Vielleicht hatte ich nicht spätestens, wenn ich die Zusammenführung abgeschlossen habe, aber es passiert mit vielen Änderungssets und das passiert nur in diesem einen verzweigten Projektordner.

Gibt es eine Möglichkeit herauszufinden, was nicht zusammengeführt wurde und es zusammenzuführen, damit die Changesets nicht mehr als Merge-Kandidaten angezeigt werden?

Antwort

1

Ein Teil Merge wird aufgezeichnet, wenn nur einige Änderungen von einem Changeset in das Ziel zusammengeführt werden. Es gibt zwei gängige Szenarien, unter dem Sie mit teilweise verschmilzt am Ende kann:

Szenario 1: einige anstehenden Änderungen rückgängig machen, wenn Sie die fusionierte Dateien überprüft werden

In diesem Fall, auch wenn wir zusammen bereits changeset Dev bis Main, es ist immer noch ein Merge-Kandidat. Dies wird durch die Tatsache verursacht, dass die Merge-Engine festgestellt hat, dass in diesem Änderungssatz noch einige Änderungen vorhanden sind, die nicht von Dev an Main weitergegeben wurden.

Szenario 2: Ausgeführte die Zusammenführung auf Funktionsebene nicht von der Spitze der Branche

Zum Beispiel: Sehen Sie, dass Sie haben zwei Zweige Haupt und Dev, jeder von ihnen zwei Ordner hat (Feature1 und Feature2) und jeder Feature-Ordner enthält eine Datei. Wir bearbeiten beide Dateien aus den Feature-Ordnern (Dev\Feature1\feature1.txt und Dev\Feature2\feature2.txt) und checken die Änderungen ein.

Wenn Sie den Druckvorgang auf der Feature1 Ebene durchführen. (Changset142 → Changeset143) Sie werden in den ausstehenden Änderungen Fenster bemerken, dass nur die Bearbeitung in der Feature1 Ordner getan werden zusammengelegt. Schließen Sie die Zusammenführung ab.

Wenn Sie einen Blick auf die Zusammenführung der Geschichte des Feature1 Ordner sehen Sie, dass alle Änderungen von changeset 142 in changeset verschmolzen wurden 143

Wenn Sie jedoch einen Blick auf die Zusammenführung der Geschichte von Haupt nehmen Sie werden sehen, dass nur Teile von Änderungsmenge 142 in Änderungsmenge 143 zusammengeführt wurden. Dies ist normal, da Änderungsmenge 142 einige Änderungen aufweist - die Bearbeitung der Datei im Ordner Feature2 - die nicht geliefert wurden.

Im Falle einer unvollständigen Zusammenführung, um herauszufinden, welche Änderungen zusammengeführt wurden und welche Änderungen von der Änderungsmenge wurden weggelassen. Der einzige Weg, dies zu erreichen, ist diff der Inhalt des Changeset, das teilweise zusammengeführt wurde, und der Inhalt des Changeset, das als Ergebnis der Zusammenführung generiert wurde. Mehr Detailinfo können Sie diesen Blog verweisen: Partial Merges in TFS – A Guide


aktualisieren

Sie können eine discard merge tun. Dies muss über die Befehlszeile erfolgen. Öffnen Sie die Developer command prompt, , und navigieren Sie dann zu einem Ordner unter einer Ihrer Filialen (z. B. navigieren Sie zu einem der betroffenen workspaces). Dann geben:

tf merge /r /discard "$/Project/B1" "$/Project/B2" /v:C12345~C12345 

Dies wird den changeset nehmen identifiziert (in diesem Fall ist es ChangeSet wurde #12345), und aktualisiert in Bezug auf den Zielzweig (Zweig B2) verschmolzen. Die Zieldateien werden ausgecheckt, aber sie werden nicht geändert - Sie können sie einfach einchecken, um den Vorgang abzuschließen. Danach wird der Änderungssatz nicht mehr als Zusammenführungskandidat angezeigt. Sie können eine Reihe von Changesets angeben, die zur gleichen Zeit zusammengeführt werden, aber sie sollten zusammenhängend sein.

Beachten Sie, dass diese nach dem Handeln ein changeset noch gelegentlich als merge Kandidat auftauchen - das ist eher selten mit den neuesten Versionen von TFS, und es ist praktisch unmöglich, zu beheben (es sei denn, Sie sind Ihre eigenen lokalen Lauf Installation von TFS und wollen Ihre Hände sehr schmutzig in der Datenbank bekommen). Wenn Sie mit einem dieser marooned Changesets enden, ignorieren Sie es einfach.

Quelle: Finding merge candidates in TFS

+1

lief ich den Vergleich der Differenzmengen zu sehen, was anders war. Es wurden 4 Unterschiede aufgelistet. Changeset 40621 von der aktiven Verzweigung zielte auf 40622 in der Trunk-Verzweigung. Nun, da ich diese Unterschiede gefunden habe, wie kann ich das beheben, so dass Changeset 40621 nicht mehr als Merge-Kandidat angezeigt wird? –

+0

Sie können [Zusammenführen verwerfen] (https://msdn.microsoft.com/en-us/library/bd6dxhfy%28v=vs.100%29.aspx) ausführen. ** Führt den Zusammenführungsvorgang nicht durch, aktualisiert jedoch den Zusammenführungsverlauf, um zu verfolgen, dass die Zusammenführung erfolgt ist. Dadurch wird ein Änderungssatz für die Verwendung einer bestimmten Zusammenführung verworfen. ** –

+0

Leider wurde die Änderungsgruppe nicht aus meiner ausstehenden Liste entfernt. Änderungssatz 31263 befindet sich in der Liste der ausstehenden Änderungen, die von Trunk in Aktiv zusammengeführt werden sollen. Ich habe 'tf merge/discard/version: C31263 $/Trunk/Project1 $/Active/Project1/rekursive' ausgeführt. Ich habe die Zusammenführung auf Aktiv eingecheckt und dann den Zusammenführungsdialog erneut aufgerufen, und 31263 ist immer noch in der Liste. –

Verwandte Themen