Ich möchte die neueste Änderungsliste im Depot für meine aktuelle Client-Spezifikation abrufen. Dies wäre effektiv die Änderung, die synchronisiert werden würde, wenn ich einen p4 sync
in meinem Arbeitsbereich machen würde.So erhalten Sie die neueste Perforce-Änderungsliste im Depot für die aktuelle Client-Spezifikation
Ich habe versucht, p4 changes -s submitted -m1 -c [client-name]
, aber das gibt die letzte Änderung zurück, die über meinen Client eingereicht wurde.
Doing p4 changes -s submitted -m1 //depot/path/...
wird funktionieren, aber ich möchte die Client-Spezifikation nicht abfragen müssen, um herauszufinden, was der Depot-Pfad ist. Und wenn es mehr als ein Mapping gäbe, wüsste ich nicht, wie ich das verstehen soll.
Es scheint, es muss eine einfache Möglichkeit, dies zu tun, die ich vermisse.
EDIT
ich den Client spec Abfrage haben müssen, aber wie in der akzeptierte Antwort darauf hingewiesen, konnte ich die Client-spec root als Dateipfad verwenden und müssen nicht auf die Ansicht sehen Zuordnungen.
Endlösung mit P4Python:
# Get client
clientspec = p4.fetch_client()
root = clientspec["Root"]
# Get latest changenum in client mapping
changes = p4.run("changes", "-s", "submitted", "-m1", root + "/...")
changenum = changes[0]['change']
Ist 'p4 Änderungen -s übergeben -m 1' (ohne Pfad) nicht geeignet? – jamesdlin
@jamesdlin - Nein, das gibt die letzte Änderungsliste auf dem Server an, bei der es sich um einen Depot-Pfad handeln kann, den ich meiner Client-Spezifikation nicht zugeordnet habe. – dwikle