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)

    完!

     
  • 相关阅读:
    反向代理实例
    nginx常用命令和配置
    nginx的安装
    Can Live View boot up images acquired from 64bit OS evidence?
    What is the behavior of lnk files?
    EnCase v7 search hits in compound files?
    How to search compound files
    iOS 8.3 JB ready
    Sunglasses
    现代福尔摩斯
  • 原文地址:https://www.cnblogs.com/itech/p/2132443.html
Copyright © 2011-2022 走看看