我希望UserA能够在 Perforce 中创建一个更改列表,然后将其搁置。然后,我希望UserB能够取消搁置该更改列表并提交它。
这听起来很简单,但是 Perforce unshelfing 似乎并没有像我期望的那样工作。当 UserB 运行“p4 unshelve -s 1234”时,它会从更改 1234 中取消所有已更改的文件,但不会带来更改的元数据(描述、作业修复)!这意味着 UserB 可以将搁置的 CL复制到全新的 CL 中并提交(通过手动重新创建描述和修复),但这会使旧的搁置 CL 闲置。
这里合乎逻辑的事情是让UserB
- 取消搁置 CL
- 查看搁置的 CL 的元数据
- 将该元数据复制到新的CL中
- 提交新的 CL
- 删除旧搁置的 CL
以前有人遇到过这个问题吗?你是怎么解决的?
编辑:我应该澄清我的问题非常笼统。我正在开发一个工具,其中UserA是开发人员,而UserB是构建系统本身。开发人员会搁置一个 CL,然后让构建系统取消搁置并通过一系列构建和测试对其进行验证(如果它通过所有这些测试,则自动提交 CL)。如果构建系统提交它们似乎注定要失败,希望每个开发人员记得删除他们搁置的 CL!