zoukankan      html  css  js  c++  java
  • [SCM]源码管理 perforce的分支与集成


    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,否则可以直接提交。

    8) 实例 : 

    p4 integrate -b %branchname% -Dt -Ds
    p4 resolve -am
    p4 resolve -n 
    p4 submit (如果p4 resolve -n 命令检测到没有文件merge失败,则submit可以自动执行,否则需要手动merge,然后再submit)

    完!

     
  • 相关阅读:
    使用python执行系统命令——subprocess
    python与数据库交互的模块pymysql
    爬虫实战_爬取豆瓣图书利用csv库存储
    正则表达式_爬取中国古诗词网与豆瓣热门图书
    双文件上传详解
    三.基础部分+asp网站搭建
    二.Google黑客语法
    主动信息收集(二)
    一.搜索引擎如何使用
    记录学习——算法时间复杂度求法
  • 原文地址:https://www.cnblogs.com/itech/p/2132443.html
Copyright © 2011-2022 走看看