[SCM]源码管理 - perforce FQA

1 p4 delete

p4中文件删除以后,以前的版本任然保留。可以在p4v中选择view->Filter deopt -> show deleted depot files来设置显示删除的文件。 p4从不真正删除文件。

[SCM]源码管理 - perforce FQA_第1张图片

 

2 p4 label 和 branch 区别 

label相当于是个标记,只包含了文件名和版本信息;

branch相当于是将原有的代码重新copy一份;

label用来标记重要的源代码时刻,但是如果要某时刻的源代码copy出来继续开发,必须使用branch。

 

3 changelist & label 区别

[SCM]源码管理 - perforce FQA_第2张图片 

从上面的操作来看,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上出现了。

 

完!

你可能感兴趣的:([SCM]源码管理 - perforce FQA)