2010-02-18 4 views
12

Ich versuche, die Geschichte meiner Codebasis, die in TFS 2005 liegt, zu verstehen, und ich begegnete einem Changeset, in dem alle Änderungen als Zweig und Zusammenführen markiert wurden.Was bedeutet es, wenn der Quellcodeverwaltungs-Explorer sowohl eine Verzweigung als auch eine Zusammenführung für einen Änderungssatz anzeigt?

Name Change   Folder 
------------------------------------------------ 
A.cs merge, branch $/Root/Solution/Project 

vermag ich nicht alles (vor allem auf MSDN) finden beschreiben, was die verschiedenen Kombinationen von Hinzufügen, Bearbeiten, Löschen, Ast, Merge, Undelete, Encoding, etc. bedeuten. Jedes ist ziemlich selbsterklärend, wenn es alleine benutzt wird und einige machen keinen Sinn wie Hinzufügen und Löschen, also suche ich nach Informationen über die legalen Kombinationen und was sie bedeuten.

Antwort

14

Zusammenführen kann mit allem außer Hinzufügen kombiniert werden. Merge bedeutet nur, dass (1) was auch immer passiert, das Ergebnis des Aufrufs des Merge-Befehls (2) ist, wenn Sie einchecken, TFS zeichnet zusätzlich zu den Änderungen die entsprechenden Merge-History-Metadaten auf. Die verbleibenden Operationen in der Liste der Änderungstypen sagen Ihnen genau, welche Art von Änderung auf das Zielelement angewendet wird. Also:

Merge, = Zweig ein Element, das in der Quelle Zweig vorhanden ist, aber nicht das Ziel Zweig wird an das Ziel zum ersten Mal kopiert

+5

Also (Zusammenführen): keine echte Änderung, (Zusammenführen, Verzweigung): Datei von Quelle zu Ziel kopieren, (Zusammenführen, Löschen): Datei vom Ziel löschen (Zusammenführen, Bearbeiten): Datei im Ziel mit Inhalt von Quelle aktualisieren, (Zusammenführen, Umbenennen): Datei umbenennen in Ziel, (zusammenführen, wiederherstellen): Datei im Ziel wiederherstellen, (zusammenführen, umbenennen, bearbeiten): Datei umbenennen und Inhalt aktualisieren – Faron

+0

Yup, so ziemlich. Fwiw, es gibt einige funky Kombinationen, die nur während der Zusammenführung möglich sind. Wenn das Quellelement nicht im Ziel vorhanden ist, Sie aber das Kandidatenänderungsset verwerfen [oder äquivalent das Element löschen, während es sich im ausstehenden Merge + Verzweigungsstatus befindet], wird am Ende (Zusammenführen, Verzweigen, Löschen) angezeigt. Oder wenn ein Gegenstand foo in Quelle und Ziel gelöscht wird; du löschst quelle \ foo und löschst später source \ foo \ somechild, dann führst du alle oben genannten zusammen; Das Ergebnis der Zusammenführung wird target \ foo \ somechild in den Status (Zusammenführen, Wiederherstellen, Löschen) versetzen. –

+1

Wissen Sie, wo dies dokumentiert werden kann? – Faron

-1

Dies kann sinnvoll sein, wenn die Datei während einer Verzweigungsoperation erstellt wurde und Änderungen aus der Quellenverzweigung dann in die neue Verzweigung zusammengeführt wurden, ohne dass an irgendeiner Stelle eingecheckt wurde.

+0

Ich habe versucht, diese und Visual Studio verbietet in eine Uncommited Zweig zu verschmelzen. – Faron

Verwandte Themen