如何创建Perforce Shelve CL将仓库目录替换为符号链接?
能否将P4目录替换为符号链接并创建Shelve?
可以实现,但需要遵循Perforce的操作规则,具体步骤如下:
第一步:清理原目录
先把//SOME/P4/PATH/scripts/qemu/下的所有文件和子目录标记为待删除:p4 delete //SOME/P4/PATH/scripts/qemu/...第二步:创建并添加符号链接
- 在本地客户端对应路径下,创建指向
qemu.orig的符号链接:ln -s qemu.orig 本地客户端对应路径/scripts/qemu - 将这个符号链接添加到Perforce仓库,记得指定符号链接类型:
p4 add -t symlink //SOME/P4/PATH/scripts/qemu
- 在本地客户端对应路径下,创建指向
第三步:Shelve变更
把上述操作归入同一个变更列表,执行Shelve命令暂存:p4 shelve -c <你的变更列表号>
关键注意事项
- 你的Perforce客户端必须开启符号链接支持:客户端配置里的
Symlinks参数要设为enable,否则无法添加符号链接。 - 原目录必须完全清理,因为文件系统不允许同一路径下同时存在目录和同名符号链接,Perforce也会因此拦截操作。
- Shelve只是把变更暂存在服务器,不会真正修改仓库内容,后续可以用
p4 unshelve恢复变更,或者提交变更列表完成最终修改。
内容的提问来源于stack exchange,提问作者lol lol
相关产品推荐
相关产品推荐

