我想在我的当前客户端规范的仓库中获取最新的更改列表.如果我p4 sync在工作区中执行了此操作,这实际上是同步的更改.
我尝试过p4 changes -s submitted -m1 -c [client-name],但这会返回通过我的客户端提交的最新更改.
这样做p4 changes -s submitted -m1 //depot/path/...会有效,但我不想查询客户端规范来弄清楚库路径是什么.另外,如果有多个映射,我不知道如何理解.
似乎必须有一个简单的方法来做到这一点,我错过了.
编辑
我确实需要查询客户端规范,但正如在接受的答案中所指出的,我可以使用客户端规范root作为文件路径,而不需要查看视图映射.
使用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']
Run Code Online (Sandbox Code Playgroud)
我认为您将不得不查询您的客户端规范以找到其本地根。如果您不需要担心AltRoots,那么这可能是:
p4 changes -s submitted -m 1 "$(p4 client -o | grep "^Root:" | cut -f 2)/..."
Run Code Online (Sandbox Code Playgroud)
在bash中。使用本地客户端根目录而不是软件仓库路径可以避免多个映射的问题。
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |