【P4】解决本地文件修改与库文件间的冲突问题

简介: 【P4】解决本地文件修改与库文件间的冲突问题

需求提出


公司采用 perforce 进行 code 版本管理,同一团队在同一 branch 下工作。多人把 code check out 到本地,edit 后再 submit 上传库中。若 A 和 B 对同一文件 F 进行了 edit,A 先于 B 将 文件 F 上传,待 B 上传时,就会出现本地修改与库文件版本冲突的问题。


 常用的方法是 p4 resolve 把个人改动与他人改动 merge 到一起。p4 resolve 的 merge 参数如表 1 所示。


▼ 表 1:p4 resolve 的 megre 相关参数  


image.png 大部分情况下,两人的改动是会冲突的,需要手动把我方改动与库里的他人改动 merge 到一起。此时需要一系列操作来完成手动 merge。考虑到每次手动 merge 都是那么几个命令,干脆封装下得了。



脚本特性


  • 生成原文件的本地备份,原文件名添加时间戳作为备份文件名。


  • 原文件 revert 并 sync 到最新版本,与库版本对齐。


  • resolve 完毕后,CL 仍与 resolve 前的 CL 相同。


  • 需要 p4 diff 手动 merge。




脚本


  脚本名为 m_resolve.sh,为方便使用请在 ~/.bashrcalias m_resolve 'sh ~/script/m_resolve.sh'

#! /usr/bin/sh
# File Name: m_resolve.sh
# Usage      : sh m_resolve.sh conflicted_file
timestamp=$(data +%Y%m%d%H%M%S)
ori_file=$1
bak_file=.$ori_file.$timestamp
# get CL
CL=`p4 opened $ori_file`
CL=`echo ${CL#*\edit change}`  # keep right
CL=`echo ${CL%% *}`                # keep left
#
cp $ori_file $bak_file
p4 revert $ori_file
p4 sync $ori_file
p4 edit $ori_file
cp $bak_file $ori_file
p4 reopen -c $CL $ori_file
p4 diff $ori_file




目录
相关文章
Makefile基础教程(条件判断语句)
Makefile基础教程(条件判断语句)
703 0
|
C++ Windows
Visual Studio 2019 实现并行编译
使用 Visual Studio 2019 实现并行编译
1184 0
Visual Studio 2019 实现并行编译
|
缓存 移动开发 JavaScript
PCIe 参考时钟架构 (Refclk Architecture)
PCIe 参考时钟架构 (Refclk Architecture)
7770 0
PCIe 参考时钟架构 (Refclk Architecture)
|
JavaScript 前端开发 搜索推荐
【Vue 2】一个功能强大OA办公系统,开源且免费!!
【Vue 2】一个功能强大OA办公系统,开源且免费!!
|
消息中间件 数据挖掘 Kafka
使用 Flume 将 CSV 数据导入 Kafka:实现实时数据流
使用 Flume 将 CSV 数据导入 Kafka:实现实时数据流
679 2
|
存储 安全 编译器
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
490 0
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
|
弹性计算 安全 虚拟化
万字干货分享 | 阿里云CIPU技术解析
2022年6月,阿里云发布了云基础设施处理器CIPU(Cloud  Infrastructure Processing  Unit),将其定义为取代传统CPU的新一代云计算体系架构的核心。在这个全新体系架构下,CIPU向下对数据中心计算、存储、网络等底层基础设施快速云化并进行硬件加速,向上接入飞天云操作系统,将全球数百万台服务器构建为一台超级计算机,实现资源的灵活编排和调度,给用户提供高质量弹性云计算算力集群。
万字干货分享 | 阿里云CIPU技术解析
|
运维 安全 数据库
【运维面试】校企合作运维工程师12-16K薪资面试题
【运维面试】校企合作运维工程师12-16K薪资面试题
|
SoC
深入理解AMBA总线(十六)AXI设计的关键问题(二)
深入理解AMBA总线(十六)AXI设计的关键问题(二)
2088 0
深入理解AMBA总线(十六)AXI设计的关键问题(二)
|
存储 IDE 开发工具
【毅力挑战】PCIe 每日一问一答(2022.02 归档)
【毅力挑战】PCIe 每日一问一答(2022.02 归档)
5722 1
【毅力挑战】PCIe 每日一问一答(2022.02 归档)

热门文章

最新文章