2017-08-17 2 views
1

Ich muss eine Bibliothek in einem Perforce-Depot ersetzen. Die Bibliothek wird in Form von Quelldateien eingecheckt, die alle zwangsläufig verwaltet werden.ersetzen Sie eine Bibliothek in Zwangs

Nun das Problem ist, dass in der neuen Version der Bibliothek gibt

  • unveränderte Dateien
  • geänderten Dateien
  • neue Dateien und
  • sein können einige Dateien gelöscht wurden

Natürlich kann ich nur den gesamten Source-Tree zum Löschen markieren, übermitteln, kopieren Sie die neue Version der Bibliothek an den direkten In Frage, markieren für hinzufügen und erneut einreichen, aber das würde ein kurzes Zeitintervall schaffen, in dem niemand synchronisieren sollte, um seinen nächsten Build nicht zu brechen - vielleicht ist das die beste Option, aber ich würde gerne wissen, ob da ist ein besserer Ansatz.

Eine zweite Lösung besteht darin, die neue Version der Bibliothek in ein anderes Verzeichnis zu kopieren, alle Referenzen zu aktualisieren, um die neue Position wiederzugeben und dann die alte Bibliothek zu löschen und die neue Bibliothek zu markieren. Dies kann in einer Änderungsliste erfolgen. Der unangenehme und fehleranfällige Teil besteht darin, die Referenzen zu aktualisieren. Auch eine Änderung der Verzeichnisnamen ist nicht wirklich erwünscht.

Kennt jemand einen Weg, dies in einem Schritt mit einer Änderungsliste zu tun? Ich habe mit einem Beispiel für eine einzelne Datei experimentiert. Es ist tatsächlich ist möglich, eine Datei zum Löschen zu markieren und dann sofort eine Datei mit dem gleichen Namen zu erstellen und markieren Sie diese für hinzufügen. Wenn Sie das tun und absenden, dann ist das Ergebnis genau das, was ich für diese einzelne Datei möchte. Dieser Vorgang scheint jedoch das manuelle Berühren jeder Datei erforderlich zu machen. Ich konnte nicht herausfinden, wie man das für einen ganzen Verzeichnis- oder Verzeichnisbaum macht.

Antwort

2

Eine Möglichkeit ist p4 reconcile zu verwenden, um den Großteil der Arbeit zu tun, ein Verfahren wie die Verwendung von:

  1. In Ihrem Arbeitsbereich, die aktuelle Kopie des Baumes vollständig Quelle entfernen: rm -rf top-directory-name (oder del /s /q, wenn Sie sind unter Windows).
  2. kopieren Sie die gesamte neue Kopie des Quellbaums für die Bibliothek in diesen Speicherort.
  3. Führen Sie p4 reconcile aus und lassen Sie herausfinden, welche Dateien zum Hinzufügen, Bearbeiten und Löschen geöffnet werden sollen. SORGFÄLTIG inspizieren Sie die Ergebnisse durch genaues Hinsehen p4 opened, p4 diff, etc.
  4. Senden Sie die neue Änderungsliste.
+0

Vielen Dank. Ich werde es morgen versuchen. Gibt es einen Helix-Weg, dies zu tun? – Thomas

+1

Wenn Sie P4V meinen (Helix ist nur ein anderer Name für Perforce), ist das Äquivalent zu "reconcile" "File> Reconcile". Sie müssen die neuen Dateien immer noch in Ihren Arbeitsbereich kopieren. Tun * nicht * eine "remove from client"/"synC#none" vorher; Mit dem Befehl "reconcile" wird das Delta zwischen dem, was Sie zuvor synchronisiert haben, und dem, was sich jetzt in Ihrem Arbeitsbereich befindet, berechnet. Daher sollten Sie den Synchronisierungsstatus ("have table") anstelle eines leeren Arbeitsbereichs angeben, –

Verwandte Themen