如何在不同步的情况下通过p4python读取仓库的文件夹结构?

smo*_*_lp 1 python perforce p4python python-2.7

我想读取P4软件仓库中指定文件夹路径内的文件夹和文件结构,而不进行同步。可能吗?

smo*_*_lp 5

要获得指定仓库路径的子文件夹,应使用此代码

p4.run("dirs", path+'*')
Run Code Online (Sandbox Code Playgroud)

结果将是单项词典的列表

[{'dir': '//Depot/path/dirname1'}, {'dir': '//Depot/path/dirname2'}]
Run Code Online (Sandbox Code Playgroud)

为了获得指定的软件仓库路径中包含的所有文件,应使用:

p4.run("files", path+'*')
Run Code Online (Sandbox Code Playgroud)

结果将是每个文件一个字典的列表:

[{'rev': '1', 'time': '1465999632', 'action': 'add', 'type': 'text', 'depotFile': '//Depot/path/dirname1/filename.txt', 'change': '999999'}]
Run Code Online (Sandbox Code Playgroud)

另请注意,指定的路径必须以斜杠/结束。

感谢@SilentMonk @BryanPendleton给我的提示