如何在执行sync前查询Perforce指定stream的服务端大小
解决方案
错误原因
你执行的命令有两个问题导致返回结果异常:
- 统计路径未加递归通配符
/...:仅输入stream根路径时,p4只会匹配路径本身(为目录,无对应文件),不会递归统计整个stream下的所有文件,因此返回大小为0 -H参数位置错误:-H是sizes命令的选项,必须放在路径参数之前,你将它放在路径后会被p4识别为第二个待统计的路径,因此输出中多了一行-H 0 files 0 bytes的错误结果
正确查询命令
直接使用如下命令即可在本地无同步文件的前提下,向服务端查询指定stream的总大小:
p4 -u TheUserName -p ExternalServerUrl -c MyWorkspace sizes -s -H //Path/To/Stream/...
参数说明:
-s:汇总所有匹配文件的总大小,不逐行输出单个文件信息-H:将统计的字节数转换为人类可读的KB/MB/GB格式,该参数需放在路径前- 路径末尾加
/...:递归匹配该stream下所有子目录与文件,实现全stream大小统计
脚本适配提示
如果你需要在脚本中直接获取数值做磁盘空间判断,可去掉-H参数,命令会直接返回纯数字的总字节数,无需额外做单位换算。
内容的提问来源于stack exchange,提问作者Decaf Sux
相关产品推荐
相关产品推荐

