是否有可能获得未创建变更列表的仓库(仓库名称)及其创建日期。
对每个仓库运行p4 changes
,并打印没有结果的每个仓库的名称/时间
from datetime import datetime
from P4 import P4
with P4().connect() as p4:
for d in p4.run_depots():
depot = d['name']
if not p4.run_changes("-m1", f"//{depot}/..."):
print(depot, datetime.fromtimestamp(int(d['time'])))
当我在我自己的本地服务器上运行这个脚本时,它列出了我所做的所有没有任何更改列表的仓库:
Sprocket 2019-07-25 00:02:31
Widget 2019-07-24 23:45:04
repo 2020-04-28 09:53:13
spec 2022-02-08 08:23:23
与p4 depots
的完整仓库列表相比:
Depot Sprocket 2019/07/25 stream 1 Sprocket/... 'Created by Samwise. '
Depot Widget 2019/07/24 stream 1 Widget/... 'Created by Samwise. '
Depot collaborators 2020/07/12 stream 1 collaborators/... 'Created by Samwise. '
Depot depot 2019/09/22 local depot/... 'Created by Samwise. '
Depot repo 2020/04/28 local repo/... 'Created by Samwise. '
Depot spec 2022/02/08 spec .p4s spec/... 'Created by Samwise. '
Depot stream 2017/11/02 stream stream/... ''
注意,库上的time
为修改时间;仓库规范不维护原始的创建时间。然而,如果没有任何变更列表被提交到仓库,那么仓库规范本身也可能自创建以来没有被修改过。