現在のクライアント仕様のデポで最新の変更リストを取得したいと考えています。これは、ワークスペースで を行った場合に同期される変更と実質的に同じになりp4 sync
ます。
やってみましたが、クライアント経由でp4 changes -s submitted -m1 -c [client-name]
送信された最新の変更が返されます。
実行してもうまくp4 changes -s submitted -m1 //depot/path/...
いきますが、デポのパスが何であるかを把握するためにクライアントの仕様を照会する必要はありません。さらに、複数のマッピングがあった場合、それを理解する方法がわかりません。
私が見逃しているこれを行う簡単な方法があるに違いないようです。
編集
クライアント仕様を照会する必要がありましたが、受け入れられた回答で指摘されているように、クライアント仕様のルートをファイル パスとして使用でき、ビュー マッピングを確認する必要はありませんでした。
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']