2010-12-02 7 views
3

Ich möchte Dateien von Perforce abrufen, ohne sie in einen Arbeitsbereich zu verschieben.Wie lade ich Dateien von einem anderen Ort als einem Arbeitsplatz herunter?

z. Ich habe Änderungen in 2 Dateien vorgenommen.

file1.cs 
file2.cs 

Jetzt möchte ich das Projekt mit aktualisierten file1.cs bauen, so will ich neueste Dateien außer file1.cs bekommen.

Ich dachte, ich werde eine andere lokale Kopie des Projekts bekommen und es bauen.

Antwort

1

Soweit mir bekannt ist, können Sie Dateien aus einem Perforce - Depot nicht synchronisieren, ohne einen Arbeitsbereich zu verwenden, da dies die Art der Dateien in Ihrem Arbeitsbereich verfolgt und auch auf Ihrem lokalen Rechner abgelegt werden kann und ein paar andere Dinge). Ich bin mir nicht sicher, ob ich Ihr Problem vollständig verstehe, aber wenn Sie eine andere Kopie der Datei1.cs im Depot benötigen, ohne die Änderungen zu entfernen, können Sie die Änderungen einfach an einen anderen Ort kopieren oder stellen Sie sie zurück und synchronisieren Sie die Datei erneut. Die vollständigere und weniger gefährliche Lösung besteht darin, einen anderen Arbeitsbereich zu erstellen, der auf einen anderen physischen Speicherort auf Ihrem Computer zeigt, jedoch denselben Depotspeicherort. Hier wird erklärt, wie Sie einen Arbeitsbereich erstellen können: http://www.perforce.com/perforce/doc.062/manuals/boilerplates/quickstart.html Stellen Sie sicher, dass der 'Root'-Pfad sich von dem des aktuellen Arbeitsbereichs unterscheidet. Überprüfen Sie den aktuellen Arbeitsbereichsstamm, indem Sie in P4V auf die Registerkarte Arbeitsbereich gehen es ansehen. Sobald Sie den neuen Arbeitsbereich erstellt haben, erstellen Sie eine neue Verbindung und wählen Sie sie aus. Synchronisieren Sie dann die benötigten Dateien.

+0

Danke für Ihre Antwort. Ich werde eine weitere Kopie der lokalen Dateien erstellen. – meetjaydeep

9

Ich bin mir nicht sicher, was Sie wirklich tun möchten, aber Sie können den Inhalt einer Datei aus dem Depot abrufen, ohne eine Arbeitsbereichsdefinition zu verwenden, indem Sie "p4 print" verwenden. Beispiel:

>p4 print -o fileName.cs //depot/path/to/fileName.cs 
-1

Ich fand die Problemumgehung, aber nicht die Lösung.
Ich bekomme eine andere lokale Kopie des Projekts, dann bauen Sie das Projekt und senden Sie die Änderung.

0

Deshalb möchte ich neueste Dateien außer file1.cs

Sie bekommen sollten das nicht tun; Sie sollten alle Dateien aktualisieren und Konflikte mit file1.cs beheben

Betrachten Sie die Situation, in der jemand anderes Änderungen an file56.cs vorgenommen hat, die auf Änderungen basieren, die auch an file1.cs vorgenommen wurden. Wenn du ihre Änderungsliste nimmst, aber ihre Datei1.cs überschreibst (oder nimmst), bricht dein Build ab.

0

fand ich eine einfache Möglichkeit, diese mit git zu tun:

$ git p4 clone //depot/your/folder 
0

Shelve file1.cs, so dass Sie Ihre lokale Änderung sicher zurückkehren können:

p4 shelve file1.cs 
p4 revert file1.cs 

Jetzt können Sie Ihren Build zu tun mit was auch immer Version von file1.cs, die Sie möchten (Sie können eine ältere Version oder eine andere Version synchronisieren).

Wenn Sie bereit sind, um Ihre Änderung zurückzukehren:

p4 unshelve -s CHANGE 
Verwandte Themen