[SCM]源码管理 - perforce FQA
1 p4 delete
p4中文件删除以后,以前的版本任然保留。可以在p4v中选择view->Filter deopt -> show deleted depot files来设置显示删除的文件。 p4从不真正删除文件。
2 p4 label 和 branch 区别
label相当于是个标记,只包含了文件名和版本信息;
branch相当于是将原有的代码重新copy一份;
label用来标记重要的源代码时刻,但是如果要某时刻的源代码copy出来继续开发,必须使用branch。
3 changelist & label 区别
从上面的操作来看,label和changelist拥有相同的功能,都可以用来将代码sync到某个状态。label可以简单地认为是changelist的一个别名。 label不仅指定了文件的版本,而且还指定了那些文件包含在label中。
如何知道哪些文件需要被resolve?
p4 sync
p4 resolve -n
p4 文件版本的特殊规定
Type Syntax Example
Revision number #<integer> #10
Changelist number @<integer> @130
Client name @<client_spec> @p4admin_ws
Label name @<label> @release1
Latest revision #head
Last synced revision #have
Non-existent revision #none or #0
Date @yyyy/mm/dd @2004/01/30
Date and time @yyyy/mm/dd:hh:mm:ss @2004/01/30:13:30:00
如何删除在一个不存在的client上的pending change list?
p4 -c <client> change -d <changelist>
如何让p4自动地删除空的目录?
将client的设置改为rmdir,下次sync将OK。
如何禁止别的机器或用户使用你的client?
设置client的host和owner,然后选中locked选项。
4 本地的非default的CL在提交后会改变,因为CL是自增的形式的,每次提交CL加1。但是本地的pending的CL将不会在p4 server出现。 例如你本地的pending CL 10在一个月后提交的时候在server上可能为100,且CL 10 不会在server上出现了。
完!