我想在提交*.cpp文件时运行一个脚本。但当我更改p4触发器以指定文件扩展名时,它停止了工作?
该命令有效:
bugcheck1 change-submit //PlayPen/... /mnt/scripts/jenkins-trigger.sh
此命令无效:
bugcheck1 change-submit //PlayPen/*.cpp /mnt/scripts/jenkins-trigger.sh
*
运算符不匹配任何包含/
的路径段——换句话说,它只在单个目录级别匹配。
这意味着路径//PlayPen/*.cpp
将仅与//PlayPen
仓库根目录下的.cpp
文件匹配:
//PlayPen/*.cpp
//PlayPen/foo.cpp -> matches ('*' = 'foo')
//PlayPen/bar/foo.cpp -> does not match
//Widget/foo.cpp -> does not match
如果要匹配仓库中任何位置的所有.cpp
文件,则需要...
通配符:
//PlayPen/....cpp
//PlayPen/foo.cpp -> matches ('...' = 'foo')
//PlayPen/bar/foo.cpp -> matches ('...' = 'bar/foo')
//Widget/foo.cpp -> does not match
如果您想匹配任何仓库中任何位置的所有.cpp
文件,请删除PlayPen
部分:
//....cpp
//PlayPen/foo.cpp -> matches ('...' = 'PlayPen/foo')
//PlayPen/bar/foo.cpp -> matches ('...' = 'PlayPen/bar/foo')
//Widget/foo.cpp -> matches ('...' = 'Widget/foo')
要查看哪些模式与哪些文件匹配,请尝试将它们与p4 files
命令一起使用:
p4 files //PlayPen/*.cpp
p4 files //PlayPen/....cpp