Frage

Sagen, dass ich eine Niederlassung in notgedrungen unserer Code-Basis erstellt. Hier ist der Zweig spec:

//depot/code/main/... //depot/code/branch/...

Dann wird in dem Zweig, sage ich die verzweigten Datei a.txt bewegen -> b.txt mit

p4 integrate //depot/code/branch/a.txt //depot/code/branch/b.txt
p4 delete //depot/code/branch/a.txt

Lassen Sie sich nun einige Änderungen sagen gemacht in Haupt a.txt, die ich in dem Zweig in b.txt integriert haben möchte

Wenn ich versuche, mit dem ursprünglichen Zweig spec zu integrieren, es spiegelt nicht die Änderungen in Haupt auf b.txt a.txt - ist es eine Möglichkeit, die Veränderungen in der Haupt zeigen sich in der umbenannten Datei vorgenommen hat ?

Die Zweig spec sind ziemlich groß (Hunderte von Veränderungen) und nicht wenige Dateien wurden in dem Zweig umbenannt, so möchte ich einen automatisierten Weg, um dies zu tun. Lassen Sie mich wissen, ob ich hier etwas klarstellen kann - es würde helfen, ein Whiteboard haben;)

Danke! Sam

War es hilfreich?

Lösung

Perforce 2009.1 richtige Umbenennungen hat, die dabei helfen könnte - wahrscheinlich, und in jedem Fall nur für zukünftigen umbenennt. Siehe Perforce 2009.1 Release Notes , insbesondere:

#177023 * **
    The new 'p4 move' command allows for better support for
    renaming files.  A file must be already opened for 'edit'
    or 'add' in order to be moved.  Moved files can be synced,
    resolved and diffed against the repository just like files
    opened for 'edit'.  See 'p4 help move' for more info.

Sie können die Umbenennungs in die Zweig spec hinzufügen. Dann wird zumindest die Integrationen automatisch sein -. Auch wenn der Zweig spec noch länger sein wird und komplizierter

Andere Tipps

Sie können hinzufügen ‚-3‘ Schalter einen neuen Motor für die Integration zu verwenden, die Zieldateien erkennt, die zuvor bewegte sich mit ‚p4 Bewegung‘ wurden, und automatisch ‚Retargeting‘ selbst folgen diejenigen bewegen Operationen.

p4 integrate -3 //depot/code/main/... //depot/code/branch/...

Ihre Änderungen in //depot/code/main/a.txt integrieren //depot/code/branch/b.txt.

Dies ist die ‚UNODC‘ -Funktion in der aktuellen 2010.2 Release, aber wird das Standardverhalten in den kommenden 2011.1 sein.

Der einzige Weg, den ich kenne, haben Perforce damit umgehen, damit Sie die Zweig spec zu verwenden ist die alte Datei im Original in die neue Datei in der Branche abzubilden. Vielleicht, dass mit dem neuen Bewegungsbefehl in den letzten Perforce Versionen geändert hat, aber nicht, dass ich je erlebt habe.

Sie könnte die Schaffung einer Filiale spec script für verschobene Dateien Umgang mit der Ausgabe von p4 fstat verwendet wird.

Verwenden Sie die folgenden als Ausgangspunkt:

ROOT_PATH="//depot/books/..."
FIRST_CHANGE=91212

p4 fstat -Os -T headChange -F "headAction=move/* headChange>$FIRST_CHANGE" $ROOT_PATH|grep headChange | sort -u|while read DUMMY1 DUMMY2 change; do p4 describe $change; done|grep "moved from"|sed 's/\.\.\./\t/g; s/\#[0-9]*//g; s/ moved from//g;'

Damit werden alle Dateien in // depot / Bücher / finden ..., die in Änderung verschoben wurden 91212 oder später

Für uns ist der Ausgang dieses aussieht

// depot / Bücher / bar.txt //depot/books/foo.txt

Verwenden Sie es einen Zweig spec zum Basteln.

Ich glaube nicht. Da es keine direkte p4 rename ist, müssen Sie integrieren und löschen - sobald Sie das getan haben, von einem anderen Zweig integriert nicht mehr auf die richtige Datei gehen. Zumindest ist das meine Erfahrung gewesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top