2008-11-19 7 views
9

Ich möchte wissen, wie Sie Perforce-Depotstandorte in Clientansichtsstandorte konvertieren können, um Skripts zu schreiben.Konvertieren von Perforce-Depotstandorten in Clientansichtspositionen

Ich habe ein Skript, das zunächst eine Datei zum Bearbeiten in Zwangslage auscheckt und dann mit der Datei interagiert. Ich muss den Speicherort des Depots (d. H. \ Projects \ Project6) in den Speicherort der Client-Ansicht konvertieren. (d. h. d: \ Projekte \ Projekt6).

Ist das möglich?

+1

notgedrungen ist das Schlimmste. – bharal

Antwort

2

Überprüfen Sie den Befehl p4 have. Sie geben es entweder ein Depot Standort oder ein Client-Dateiname und gibt Ihnen den Speicherort des Depots, Client-Dateiname, und welche Version der Datei, die Sie haben.

3

Ich würde den p4 fstat Befehl verwenden. Ich finde sein Format etwas leichter zu analysieren als p4 haben. Wenn Sie dies in python scripten, können Sie außerdem -G option verwenden, um die Rückgabewerte als Python-Wörterbücher zu verwalten.

Es ist auch nützlich zu beachten, dass Sie p4 Hilfebefehle eingeben können, um eine Liste der Befehle und eine kurze Beschreibung dessen, was sie tun, zu sehen.

11

Ich habe immer die p4 wo Befehl dafür verwendet. Hier ist seine Beschreibung der eingebaute Hilfe:

where -- Show how file names map through the client view 

p4 where [ file ... ] 

    Where shows how the named files map through the client view. 
    For each argument, three names are produced: the name in the 
    depot, the name on the client in Perforce syntax, and the name 
    on the client in local syntax. 

    If no file is given, the mapping for '...' (all files in the 
    current directory and below) is shown. 

    Note that 'p4 where' does not determine where any real files are. 
    It only computes where they should be according to the client view. 
+0

Wenn Sie die Ausgabe von 'p4 where' analysieren wollen und Ihre Dateinamen Leerzeichen enthalten, finden Sie unter http://maillist.perforce.com/pipermail/perforce-user/2007-February/020820.html - Ich habe so etwas gefunden 'p4 wo -T Quack // blah/somefile.txt' gut funktionierte. Der "Quack" -Teil wird nur in der Ausgabe zitiert, aber Sie müssen etwas dorthin bringen. Da 'p4 where' mehrere Ergebnisse für komplexe Arbeitsbereiche ausgeben kann (siehe Verwendungshinweise unter http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_where.html), stellen Sie sicher, dass Sie nur die letzte interessante Zeile von der Ausgabe (ich denke, das ist sicher). – entheh