2014-06-19 8 views
8

Ich bereite mich vor, unsere "Dev" Zweigstelle in unsere "Testing" Branche zu integrieren, um uns auf eine bevorstehende Veröffentlichung vorzubereiten.Gibt es eine Möglichkeit, Perforce dazu zu bringen, unveränderte Dateien, deren Integration aussteht, rückgängig zu machen?

Für unsere letzte Version, nach der anfänglichen Integration, haben wir festgestellt, dass es einige Änderungen gab, die wir nicht veröffentlichen wollten. Ich habe einige Dateien im Testing-Zweig zurückgerollt und Teile anderer Dateien auskommentiert. Viele dieser Dateien haben sich im Dev-Zweig nicht geändert, was Perforce betrifft, sie wurden bereits integriert und sind gut zu machen.

Offensichtlich konnte ich die Änderungslisten aufspüren und diese Dateien rückgängig machen. Ich könnte die störenden Dateien auch mit der Option "-f" integrieren, um den Integrationsverlauf zu ignorieren.

Aber ich hoffte, einen Weg zu finden, dies "automatisch" zu tun. Ich habe versucht, den gesamten Zweig mit "-f" zu integrieren, aufzulösen und dann die unveränderten Dateien wiederherzustellen, aber das gibt nur die Nachricht: <filename> has pending integrations, not reverted.

Gibt es eine Möglichkeit, Perforce dazu zu bringen, unveränderte Dateien wiederherzustellen, für die eine Integration aussteht? Gibt es eine andere Herangehensweise, die ich ergreifen sollte?

Antwort

14

Haben Sie die folgenden Schritte unter "Ausstehende Integrationen nicht zurückgesetzt" ausgeführt?

http://answers.perforce.com/articles/KB_Article/Reverting-Unchanged-Files

Dateien, die integriert sind und gelöst werden, haben aber keinen Inhalt oder Änderungen geben wird immer noch als neue Revisionen eingereicht werden, auch wenn Sie in der Client-spec ‚revertunchanged‘ ausgewählt haben, oder verwenden Sie ‚einreichen -f revertunchanged ". Dieses Verhalten ist von Entwurf, aber nicht offensichtlich.

Wenn ein submit den Integrationsverlauf einer Datei ändert, wird diese Datei als geändert betrachtet, auch wenn keine Änderungen am Inhalt vorgenommen wurden. Mit anderen Worten, Aktualisierungen des Integrationsverlaufs werden als Dateiänderungen angesehen, genau wie Inhalts-, Typ- und Attributänderungen.

Das Befehlszeilenäquivalent der Option "revertunchanged", p4 revert -a, bietet einen Kontext. Von p4 help Zurück:

Das Flag -a gibt nur Dateien zurück, die zum Bearbeiten oder Integrieren geöffnet sind und sind unverändert oder fehlen. Dateien mit ausstehenden Integrationssätzen bleiben offen. Die Dateiargumente sind optional, wenn -a angegeben wird.

Zum Beispiel:

$ p4 revert -a b 
//depot/test/b#1 - has pending integrations, not reverted 

Nutzer besorgt über Dateien ohne inhaltliche Änderungen der Integration wird empfohlen ‚p4 diff -sr verwenden | p4 -x- rückgängig machen '. Zum Beispiel:

$ p4 diff -sr | p4 -x- revert 
//depot/test/b#1 - was integrate, reverted 

Lassen Sie mich wissen, ob das hilft.

+0

Das ist brilliant! Ich danke dir sehr! – Phillip

+0

Gern geschehen @Phillip! – P4Shimada

+0

Also, wie geht das für mehrere Dateien von P4V? –

Verwandte Themen