perforce的分支与集成
来源:互联网 发布:understand4 for mac 编辑:程序博客网 时间:2024/05/17 08:28
p4的分支创建和集成过程主要包含4个步骤:
(1) 使用‘p4 branch’创建branch spec;
(2)使用’p4 integrate‘来实现分支间的集成;
(3)使用‘p4 resolve’来完成冲突的合并;
(4)使用‘p4 submit’提交集成的结果。
如下为在p4v中的操作。
一 创建branch spec
如下过程创建projectA的main与2012RTM的branch spec。操作为new branch mapping。
二 创建新的分支
如下过程创建2012RTM分支!
1) 在branch spec上右键 ->integrate using this branch mapping
2) 提交集成
3)提交后如下
三 分支间的集成
如下过程为从2012RTM 到 main的集成。
1) 在branch spec上右键 ->integrate using this branch mapping,注意选择正确的集成方向。
2) 在有冲突的文件右键->resolve (通常选择accept merged 或者run merge tool手动merge)
3) 提交合并
四 p4 integrate 和 p4 resolve的注意事项
1 )p4分支的集成也支持没有branch spec的形式,如 ‘p4 integrate fromfile tofile’,如果没有使用branch spec或fromfile与tofile没有共同的base的时候需要使用-i参数来强制集成。
2)对‘p4 integrate’使用-v参数来避免将integrate的结果自动sync到本地,但是大部分情况我们需要合并,所以需要sync到本地。
3)对‘p4 integrate’使用-r表示与branch spec相反的方向的集成。
4)默认地在‘p4 integrate’命令后本地workspace的文件任然为只读的,如果需要修改则必须先使用‘p4 edit’命令。
5)对‘p4 integrate’命令使用-Dt -Ds,-Dt表示目标文件被删除了,但是源文件还在,则集成结果为源文件; -Ds表示如果源文件删除了,集成结果为任何对之前对目标文件的修改也被删除。
6)在脚本中自动集成时,可以对‘p4 resolve’使用 -am或-as参数,差别为:
-am表示accept merged,具体为如果theirs与base一致,接受yours,如果yours与base一致,接受theirs,如果yours和theirs都与base不同,但是yours和theirs没有冲突,接受自动merged的结果,否则如果yours和theirs也有冲突,则忽略此文件。
-as比-am更严谨,不管yours与theirs是否有冲突,只要yours和theirs都与base有不同就忽略此文件。
7)在使用‘p4 resolve -am’或‘p4 resolve -as’后,可以使用‘p4 resolve -n’来参看没有自动merged忽略的文件,如果有文件没有自动merge成功,则需要手动merge,否则可以直接提交。
2)对‘p4 integrate’使用-v参数来避免将integrate的结果自动sync到本地,但是大部分情况我们需要合并,所以需要sync到本地。
3)对‘p4 integrate’使用-r表示与branch spec相反的方向的集成。
4)默认地在‘p4 integrate’命令后本地workspace的文件任然为只读的,如果需要修改则必须先使用‘p4 edit’命令。
5)对‘p4 integrate’命令使用-Dt -Ds,-Dt表示目标文件被删除了,但是源文件还在,则集成结果为源文件; -Ds表示如果源文件删除了,集成结果为任何对之前对目标文件的修改也被删除。
6)在脚本中自动集成时,可以对‘p4 resolve’使用 -am或-as参数,差别为:
-am表示accept merged,具体为如果theirs与base一致,接受yours,如果yours与base一致,接受theirs,如果yours和theirs都与base不同,但是yours和theirs没有冲突,接受自动merged的结果,否则如果yours和theirs也有冲突,则忽略此文件。
-as比-am更严谨,不管yours与theirs是否有冲突,只要yours和theirs都与base有不同就忽略此文件。
7)在使用‘p4 resolve -am’或‘p4 resolve -as’后,可以使用‘p4 resolve -n’来参看没有自动merged忽略的文件,如果有文件没有自动merge成功,则需要手动merge,否则可以直接提交。
8) 实例 :
p4 integrate -b %branchname% -Dt -Ds
p4 resolve -am
p4 resolve -n p4 submit (如果p4 resolve -n 命令检测到没有文件merge失败,则submit可以自动执行,否则需要手动merge,然后再submit)
完!
http://www.cnblogs.com/itech/archive/2011/08/09/2132443.html
0 0
- perforce的分支与集成
- [SCM]源码管理 - perforce的分支与集成
- [SCM]源码管理 - perforce 分支的锁定
- 特性分支开发与持续集成
- [SCM]源码管理 - perforce与分布式团队的开发
- Perforce的环境变量配置
- Perforce服务器的备份
- Perforce的LABEL操作
- perforce 的搭建 linux
- Perforce的使用
- Jenkins + Perforce + Gradle 持续化集成步骤
- Perforce
- Perforce Server安装与配置
- Fisheye 与Perforce 连接问题
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- 陈金洲: 啊,这就是我想要的大象
- 铁道部新客票系统设计(一)
- 什么是Ubuntu PPA以及为什么要用它
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - System V进程间通信基础
- connection refused 解决
- perforce的分支与集成
- 铁道部新客票系统设计(二)
- 【分割平面,分割空间类题】【HDU1290 HDU2050】
- 模拟手算的大整数乘法学习笔记
- linux shell 字符串操作(长度,查找,替换)详解
- Oracle基础知识整理总结
- easyui-1、引入
- stat命令
- 《c程序设计语言》读书笔记-3.6-数字转字符串最小宽度限制