Kürzlich bin ich auf einen MSDN-Artikel über das Verzweigen und Zusammenführen und SCM gestoßen : Branching and Merging Primer - Chris Birmele .
In dem Artikel heißt es, 'Big Bang Merge' ist ein zusammenlaufendes Gegenmuster:
Big Bang Merge - Verzögert das Zusammenführen von Zweigen bis zum Ende des Entwicklungsaufwands und versucht, alle Zweige gleichzeitig zusammenzuführen.
Mir ist aufgefallen, dass dies sehr ähnlich zu dem ist, was mein Unternehmen mit allen produzierten Entwicklungszweigen macht.
Ich arbeite in einem sehr kleinen Unternehmen mit einer Person, die als endgültige Überprüfungs- und Zusammenführungsbehörde fungiert. Wir haben 5 Entwickler (einschließlich mir), jeder von uns erhält eine eigene Aufgabe / einen eigenen Fehler / ein eigenes Projekt und wir verzweigen jeden Zweig vom aktuellen Trunk (Subversion) und führen dann die Entwicklungsarbeiten in unserem Zweig durch, testen die Ergebnisse, schreiben die Dokumentation Führen Sie bei Bedarf eine Peer-Review- und Feedback-Schleife mit den anderen Entwicklern durch und senden Sie die Filiale zur Überprüfung und Zusammenführung in unserer Projektmanagement-Software.
Mein Chef, der alleinige Verantwortliche für das Trunk-Repository, wird tatsächlich alle Überprüfungen von Zweigen auf einen bestimmten Zeitpunkt verschieben, an dem er so viele Überprüfungen wie möglich durchführt. Einige Zweige werden für Verbesserungen / Korrekturen zurückgeworfen, andere Zweige verschmelzen direkt mit dem Stamm, einige Zweige werden aufgrund von Konflikten usw. zurückgeworfen.
Es ist nicht ungewöhnlich, dass sich 10 bis 20 aktive Zweigstellen in der Warteschlange für die endgültige Überprüfung befinden, um in Trunk zusammengeführt zu werden.
Außerdem müssen Konflikte in der abschließenden Überprüfung und Zusammenführung häufig behoben werden, da zwei Zweige aus demselben Stamm erstellt wurden, aber denselben Code geändert haben. In der Regel vermeiden wir dies, indem wir einfach den Stamm umverzweigen und unsere Änderungen erneut anwenden und die Konflikte lösen und dann den neuen Zweig zur Überprüfung einreichen (Wiedergutmachung durch schlechte Besetzung).
Einige direkte Fragen, die ich habe, sind:
- Zeigen wir genau das Anti-Pattern, das als "Big Bang Merge" bezeichnet wurde?
- Sind einige der Probleme auf diesen Zusammenführungsprozess zurückzuführen?
- Wie können wir diesen Zusammenführungsprozess verbessern, ohne den Engpass bei meinem Chef zu vergrößern?
Bearbeiten: Ich bezweifle, dass mein Chef seinen Griff um die Stammablage lockern oder anderen Entwicklern erlauben wird, sich zum Stamm zusammenzuschließen. Ich bin mir nicht sicher, was seine Gründe dafür sind, aber ich habe nicht wirklich vor, das Thema zur Sprache zu bringen, da es schon früher angesprochen und ziemlich schnell abgeschossen wurde. Ich denke, sie vertrauen uns einfach nicht, was keinen Sinn ergibt, weil sowieso alles verfolgt wird.
Jeder andere Einblick in diese Situation wäre willkommen.