Ich bin auf der Suche nach Feedback zu den Vor- und Nachteilen der Methoden, die für die Erstellung einzelner Entwicklungszweige in einem Perforce-Depot zur Verfügung stehen. Wenn ich richtig verstehe, gibt es zwei Möglichkeiten, dies zu handhaben. Die erste besteht darin, eine private Zweigstelle zu erstellen, bei der es sich um eine vollständige Kopie der Zweigstelle handelt, an der Sie gerade arbeiten. Die Filiale würde komplett alleine stehen und Ihre Änderungen vollständig vom Zielzweig isolieren.Perforce Dev Branches - Sparse Branching vs. Private Branching
Die andere Methode, die ich gehört habe, ist Sparse Branching. Es ist beschrieben in Practical Perforce (Kapitel 9, S.242). Dies erstellt eine Verzweigung, aber nur mit den Dateien, die Sie bearbeiten müssen. Sie überlappen dann die Ziel-Zweig-Client-Ansicht mit dieser Spar-Zweig-Zweig-Client-Sicht.
Beide Methoden würden erfordern, dass der Programmierer einige Integrationsarbeiten ausführt, um ihre Änderungen im Zielzweig zu erhalten. Die Private-Branch-Methode scheint viel mehr zusätzlichen Speicher zu benötigen, um eine Kopie der gesamten Verzweigung zu erstellen. Die Perforce-Dokumentation besagt jedoch, dass es in dieser Situation eine "Lazy Copy" ausführt.
Integration ermöglicht Perforce auch eine "Lazy Copy" der Dateien durchzuführen. Wenn Sie Dateien abzweigen, enthält der Server nicht wirklich zwei Kopien der Dateien - es enthält lediglich die Quelldatei und ein Zeiger in der Datenbank zeichnet die Tatsache auf, dass die Verzweigung zu der Zieldatei aufgetreten ist. Lazy-Kopien machen die Verzweigung zu einer Operation mit geringem Overhead; Der Server muss keine doppelten Kopien von Dateien verfolgen.
Dies es wie der Sparse Zweig Verfahren scheinen macht, ist nur das Hinzufügen der Möglichkeit menschlicher Fehler zu dem Prozess, wie zum Beispiel kann der Entwickler beginnt an einer Datei arbeiten, die sie nicht auf den Sparse Zweig hinzugefügt haben und Aktualisieren Sie dann versehentlich eine Änderung in dem Zielzweig, der den Build unterbricht. Aber die Sparse-Verzweigungsfunktionalität existiert aus einem bestimmten Grund. Jede Rückmeldung darüber, warum sie existiert und warum ich sie über eine komplette Privatniederlassung (oder umgekehrt) verwenden sollte, wäre sehr willkommen.
Guter Punkt auf dem Client-Speicherplatz. Ich habe vergessen, darauf hinzuweisen, da ich TB Speicherplatz auf meiner Maschine habe, aber es ist in den meisten Fällen immer noch gültig. – Fostah