加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[讨论] 大家对于perforce的changelist是怎么理解的?( 此文章被查看:467次,被回复:2篇!! )

大家对于perforce的changelist是怎么理解的?

大家对于perforce的changelist是怎么理解的?



© 本文为 QuestSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

我认为changelist是个比较好的概念,通过这个概念,所有的添加、检出、检入均可以通过这个概念进行操作。更重要的是,changelist可以包含多个文件,开发人员在实现某个软件功能或者解决某个Bug时,通过不止修改一个文件,而这时,可以将相关的文件都检出到一个changelist中,在完成修改后,整个changelist一并提交,并填写相应的注释。也就是说,changelist帮开发人员维护了针对某任务而改动的文件集之间的关系,我认为这个“关系的维护”是changelist最出彩的地方。



© 本文为 魔术师约翰逊SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

检出是checkout吧?

如果是的话,perforce里面是以文件为单位进行checkout的,而以changelist为单位进行submit。我同意您说得最出彩的地方,也正是为了实现这个地方,submit的时候必须是个原子性提交。
还有个高明的地方是每次提交都是提交对数据库中文件的变更,提交前后数据库的一致性状态就发生了改变。同样的,提交有先后顺序,而这个顺序是通过changelist number的大小维护的。于是就可以通过不同的changlist number访问数据库的不同状态。这也就把changelist具有时间戳的内涵反应出来了。
当然访问数据库中的文件的不同状态,基本上就是查找文件的版本树,每个版本都必然由某个changelist产生,于是既便某个changelist number不存在,或者某个changelist没有修改文件a,a这个文件用这个changelist number访问其状态的时候仍然可以得到某个特定的版本。



© 本文为 QuestSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

发新话题