PlasticSCM CLI - 如何列出 repo 中的所有文件夹?

PlasticSCM CLI - how to list all folders in repo?

我正在使用以下命令列出存储库的内容,但希望将结果限制为仅包含文件夹(即不包含文件)。

cm ls --tree=br:branch@repo@server:port -R --format={path}

使用 cm help ls 似乎没有说明如何或是否可行。

编辑:我知道我可以过滤客户端,但我不想这样做,因为我们的一些存储库很大(包含很多文件)而且这太慢了。

编辑:使用 ls 提供的路径过滤似乎可行...但是,我找不到让它只包含文件夹的方法。例如,cm ls *.cs 将包括所有 .cs 文件。

编辑:看起来我唯一的选择是递归地遍历回购的“文件系统”,一次将其拉到一个文件夹并递归到每个子文件夹中 - 这有望比使用递归 ls 选项然后过滤所有客户端。

您可以使用“cm ls --format="{path}||{type}" 然后您可以根据项目类型 grep 输出。

幸运的是,我的用例是用于填充用户界面。因此,我可以不使用 -r(递归)选项而只是在用户导航时查询每个文件夹的路径内容。正如卡洛斯所建议的那样,这涉及查询路径内容,然后丢弃非文件夹数据(全部在客户端完成)。虽然实施起来比较繁琐,但它可以工作并且性能足够。

如果 ls(或其他一些机制)允许您只检索文件夹数据并在服务器端完成过滤,那就太好了。