在远程计算机上测试对源代码的更改的工作流程如下:
1)在本地机器上:搁置我想要测试的更改
2)在远程机器(Ssh)上:
$ p4 revert //...
$ p4 sync
$ p4 unshelve -s <changelist number>
$ ./run_test_scripts
当我只对已经存在的文件进行更改时,这似乎很好。如果我添加了新文件,这些文件将在p4 unshelve
期间创建,而不是在p4 revert
期间删除。文档中说,这是p4 revert
所做的,所以它不是意外的,但是如果我想再次测试相同的文件,会引起一些问题:
$ p4 revert //...
<some file>#none - was add, abandoned
$ p4 sync
File(s) up-to-date.
$ p4 unshelve -s <changelist number>
Can't clobber writable file <some file>
我有办法删除那些被遗弃的文件吗?
发布于 2013-11-13 21:37:14
我想你要找的是p4 revert -w
。从帮助中:
The -w flag causes files that are open for add to be deleted from the workspace when they are reverted.
注意:我正在对2013.2/708877服务器使用2013.2/719516客户端,以防最近添加了该交换机.
发布于 2013-11-13 08:39:40
编辑:只是重读你的问题--这是解决的方法,也许不是一个完整的解决方案.
P4Win中有一个设置,允许您在取消搁置时覆盖文件:
Overwrite workspace files even if they are writeable
我通常将它与另一个选项(同样在gui中)结合使用:
Revert checked our files before unshelving
他们解决了我的问题。
在从gui运行控制台输出时,它看起来像是unshelve
命令中的unshelve
参数。
p4 unshelve -s <changelist> -f -c <changelist> <files>
https://stackoverflow.com/questions/19948915
复制相似问题