2016-06-14 9 views
3

Gibt es eine Möglichkeit, eine Datei zu senden, die nicht Teil der Client-Ansicht ist?p4 Dateien nicht in der Client-Ansicht senden

Mein Kunde wie folgt aussieht:

//dir1/... 
-//dir1/dir2/... 

Ich versuche, eine neue Datei zu erstellen, die ein paar Megabyte an //dir1/dir2/file1 ist und legt ihn ohne //dir1/dir2/ Synchronisierung (die Multi-Gigabyte sein kann).

Gibt es eine Möglichkeit, eine Datei zu erzwingen, die nicht in der Clientansicht vorhanden ist, wenn ich sicherstellen kann, dass das Basisverzeichnis (//dir1/dir2) im Perforce-Depot vorhanden ist?

Bearbeiten: Ja, ich verstehe, dass ich diese Datei der Client-Ansicht hinzufügen kann, aber meine Frage, speziell wie oben, ist: "Gibt es eine Möglichkeit, eine Datei, die nicht existiert in Force die Kundenansicht "?

Antwort

3

(bearbeitet: Klärende meine Antwort, um mehr direkt zu versuchen, beantworten Sie die (geklärte) Frage)

Nein, es gibt keine Möglichkeit, eine Datei zu senden, die in der Client-Sicht ist nicht vorhanden. Ohne die Informationen in der Client-Ansicht weiß der Server nicht, wie er den Client nach dem Inhalt der einzureichenden Datei fragt, da die Client-Ansicht angibt, welche physische Datei auf dem Client-Rechner den Inhalt enthält eingereicht.

Als Abhilfe können Sie Ihre Client-Sicht noch weiter verfeinern:

//dir1/...   //my-ws/location/dir1/... 
-//dir1/dir2/... //my-ws/location/dir1/dir2-files-I-don't-care-about/... 
//dir1/dir2/file1 //my-ws/location/dir1/dir2/file1 

du so lesen: „Alles in dir1 umfassen, ohne alles in dir1/dir2, mit Ausnahme von dir1/dir2/file1, die spezifisch zu sein inbegriffen."

Nachdem Sie Ihre Ansicht angepasst haben, können Sie p4 add //dir1/dir2/file1 wie erwartet verwenden.

Die Reihenfolge der Abbildungslinien ist hier entscheidend, da durch diesen Satz von p4 help views beschrieben:

If more than one mapping line refers to the same files, the later 
mapping line overrides the earlier one. 

Wenn Sie möchten, wenn Sie die Datei eingereicht haben, können Sie diese Zeile aus Ihrer Sicht spec entfernen (und synchronisieren Sie Ihren Client erneut, um Ihren Client zu seiner vorherigen Definition zu vereinfachen.

+0

Wunderbare Antwort. Wenn ich 'p4 client -o' mache, bekomme ich die Ansicht als '// depot/dir1''/root/dir2', d. H. Der Depot-Pfad und der zugeordnete Client-Pfad sind benachbart zueinander. Wie erstellt man ein solches Mapping in dieser Art von Client-Konfiguration? – SilentMonk

+1

Es ist mir nicht klar aus der Frage, wo das Depot-Verzeichnis im Arbeitsbereich sein soll - wenn Sie es in dieser Form ausdrücken können (zB "Ich möchte // depot/dir1 mit meinem Arbeitsbereich als/root synchronisieren)/blah/dir1 und // depot/dir2, die als/root/blah/dir2 synchronisiert werden sollen ") Jemand, der mit Client-Ansichten vertraut ist, kann Ihnen sehr leicht zeigen, wie Sie die Ansicht einrichten. –

+0

Während informativ behandelt dies nicht die Frage des OP: "Gibt es eine Möglichkeit, eine Datei zu erzwingen, die nicht in der Client-Ansicht existiert?" –