如何使用CLI命令检查指定Perforce change-list中是否存在shelved文件
Perforce 检查指定变更列表是否包含搁置文件的方法
直接使用Perforce官方命令即可完成检查,两种常用方案分别适配人工查询和自动化流程场景:
- 通用查询方案
执行命令p4 describe -S <变更列表编号>,命令中的-S参数会限定仅返回对应变更列表的搁置内容:如果返回结果包含具体的文件变更条目,说明该变更列表存在搁置文件;如果仅返回变更列表的基础信息无文件列表,说明无搁置文件。
- 自动化流程适配方案
可以结合p4 files命令的输出结果直接做逻辑判断,无需解析复杂的描述内容,示例shell逻辑如下:# 替换为你要校验的变更列表编号 CL_NUM=12345 # 检查是否有搁置文件,屏蔽错误输出 SHELVED_FILES=$(p4 files @=${CL_NUM} 2>/dev/null) if [ -z "${SHELVED_FILES}" ];then echo "ERROR: 变更列表${CL_NUM}不存在搁置文件,流程终止" exit 1 fi # 后续执行unshelve、测试等逻辑
你可以把这段校验逻辑加到你的自动化流程的最开头,在执行unshelve操作前先完成校验,就能完全避免无搁置文件导致的虚假运行成功问题。
内容的提问来源于stack exchange,提问作者Branislav Abadjimarinov
相关产品推荐
相关产品推荐

