我们正在从svn转换为perforce,但有一些问题需要解决,与我们当前的工作流程有关。
目前,项目发布包含一个Source /目录,该目录包含本地源文件和svn:externals到单元测试子模块的列表,这些子模块是独立于主项目代码签名和标记的。
这样做的好处是对子模块进行严格的版本控制,因此我们只会在考虑准备就绪时导入新标记的外部。此外,只要导入新的模块版本,对svn:external的更改意味着它们一旦被启动就会被推送到项目团队。
据我所知,Perforce没有任何等价物。我知道标签功能和流,但看不到任何方法来维护一个中央客户端规范,该规范以与svn:externals相同的方式推出。
还有其他人遇到过这个吗?现在看来,为了从svn换到Perforce,我们将不得不相当大地改变一个经过充分验证的工作流程,这是令人失望的。
答案 0 :(得分:0)
Streams本质上是您正在讨论的中心客户端规范 - 当用户创建基于流的客户端规范时,映射会根据流模板自动生成,并且每个人的客户端规范都会动态更新更新流模板时。例如,您的模块可以是流中的“导入”路径,其中@change说明符会在测试通过时更新,并且用户会在更新流规范时自动查看更新的更新。
“推送”也可以通过分支来实现,有或没有流 - 用户映射的分支被定义为仅包括模块的“就绪”版本,开发发生在不同的主线分支中。当新版本的代码准备就绪时,它将被复制到“就绪”分支中。用户无需更新其客户端规范,因为路径未更改;他们只是同步,他们得到了复制的东西。