19 Stimmen

Filialübergreifende Zusammenführung in TFS?

Ist es möglich, in einen Zweig zusammenzuführen, der in TFS nicht direkt über- oder untergeordnet ist? Ich vermute, dass die Antwort "Nein" lautet, da ich diese Erfahrung bei der Verwendung des Systems gemacht habe. Es scheint jedoch zu bestimmten Zeiten sehr nützlich zu sein, wenn an verschiedenen Funktionen gearbeitet wird, die unterschiedliche Genehmigungszyklen haben können (z. B. Funktion eins könnte vor dem zweiten Merkmal genehmigt werden). Dies wird äußerst schwierig, wenn wir Produktionszweige haben, in denen wir eine Funktion in einen früheren Zweig einfügen müssen, damit wir sie vor der nächsten Vollversion freigeben können.

Unsere derzeitige Verzweigungsstrategie besteht darin, im Stamm (oder Mainline, wie wir es nennen) zu entwickeln und einen Zweig zur Stabilisierung und Freigabe für die Produktion zu erstellen. Dieser Zweig kann dann verwendet werden, um Hotfixes und andere Dinge zu erstellen, während die Hauptlinie für kommende Funktionen abweicht.

Welche Techniken können sonst eingesetzt werden, um ein Szenario wie das oben beschriebene zu entschärfen?

1 Stimmen

Heh, ich habe ein Upvote zu diesem Thema gesehen und wurde an meine Zeit mit TFS erinnert. Ich bin froh, dass ich mir seit meinem Wechsel zu Git vor etwa zwei Jahren keine Sorgen mehr über solche Dinge machen muss ;)

3 Stimmen

Falsch Joel, während Sie sich keine Sorgen über die technischen Einschränkungen machen müssen, Git ist besser beim Branching, müssen Sie sich immer noch über dysfunktionale Verhaltensweisen Sorgen machen... Diese Transend-Tools.

0 Stimmen

Ich würde Ihnen empfehlen, auf TFS 2013.3 / VSO zu aktualisieren und auf ein Git-basiertes Team Project zu migrieren.

19voto

Justin Dearing Punkte 336

Ich stimme Harpreet zu, dass Sie vielleicht noch einmal überdenken sollten, wie Sie die Verzweigungsstruktur eingerichtet haben. Wenn Sie diese Art von Zusammenführung jedoch wirklich durchführen wollen, können Sie eine so genannte baseless merge verwenden. Er wird über die tfs-Eingabeaufforderung ausgeführt,

Tf merge /baseless <<source path>> <<target path>> /recursive

Weitere Informationen über grundlose Zusammenführungen finden Sie unter ici

Außerdem fand ich dieses Dokument von unschätzbarem Wert, als ich unsere tfs-Verzweigungsstruktur konstruierte Microsoft Team Foundation Server Anleitung zur Verzweigung

8voto

Mark Cidade Punkte 95914
tf.exe merge /recursive /baseless $/TeamProject/SourceBranch $/TeamProject/TargetBranch

2voto

Harpreet Punkte 493

Vielleicht sollten Sie Ihre Verzweigungsstrategie noch einmal überdenken. Wie erhalten Sie Produktionszweige? Führen Sie den gesamten Code aus den Entwicklungszweigen zusammen, führen Regressionstests durch und erstellen dann einen Produktionszweig für Korrekturen? Oder entwickeln Sie auf dem Stamm und erstellen dann Produktionszweige zur Stabilisierung und Freigabe? Der zweite Weg führt zu Problemen der Art, die Sie beschreiben. Wenn Sie den ersten Ansatz verwenden - der Stamm ist nur für Dinge gedacht, die auf getesteten und dann zusammengeführten Zweigen gebaut wurden - werden Sie viel seltener auf diese Probleme stoßen. Wenn Sie bei diesem Ansatz immer noch dieses Problem haben, kann es daran liegen, dass Ihr Entwicklungsaufwand sehr groß ist und Sie eine relativ komplexe Verzweigungsstrategie mit Schichten von Verzweigungen und Beförderungen benötigen.

1voto

Ben Scheirman Punkte 39742

AFAIK können Sie dies tun, solange die Zweige aus demselben ursprünglichen Ordner erstellt wurden.

  • Rüssel/
  • Zweige/ -/feature1 (verzweigt von trunk) -/feature2 (verzweigt von trunk)

Wenn Sie dies tun, sollten Sie in der Lage sein, auch zwischen Merkmal1 und Merkmal2 zusammenzuführen.

Meine Erfahrungen mit TFS lassen mich jedoch nach mehr verlangen. Ich wünschte, wir hätten nur SVN.

1voto

Dan Shield Punkte 1328

Ja, Sie können eine grundlose Zusammenführung durchführen, aber nur über die Befehlszeile (tf.exe).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X