当前位置: 首页 > news >正文

相机camera开发之差异对比核查二:测试机和对比机的差异提交对比

【关注我,后续持续新增专题博文,谢谢!!!】

上一篇我们讲了

        这一篇我们开始讲 

目录

一、背景

二、:差异提交对比

    2.1:Camera相关仓库

    2.2 :单个仓库差异提交

      2.2.1 查看两个版本差异代码文件细节

      2.2.2  指定文件的详细差异

      2.2.3 显示所有文件差异

      2.2.4 查看release中比master中多提交了哪些内容

      2.2.5 查看release和master所有差异点

      2.2.6 查看以git log的方式展示差异

      2.2.7 显示提交在哪个分支

      2.2.8 查看release中比master中多的提交,只显示commitid,不显示内容

    2.3 :多个仓库差异提交

    2.4 :对差异提交进行评估


一、背景

        当一个项目启动后,最小系统跑起来不久,会进入正式开发阶段,这时开发策略和测试策略都会进行筹备,一个重要的参考对象,即参考机。测试机各种测试都会与参考机进行对比。那么对于开发者而言,我们需要核查参考机和开发测试机之间的哪些差异性呢?

二、:差异提交对比

    2.1:Camera相关仓库

Camera仓库一般涉及: APP,HAL,kernel,framework四层。如下类似仓库

    #Camera APP(对应项目仓库)
development/samples/browseable/Camera2Basic Camera2Basic
    #Camera HAL
vendor/qcom/proprietary/camx camx
vendor/qcom/proprietary/chi-cdk chi-cdk
vendor/qcom/proprietary/camx-lib-stats camx-lib-stats
vendor/qcom/proprietary/camx-api camx-api
vendor/qcom/proprietary/camx-common camx-common
hardware/interfaces interfaces
hardware/libhardware libhardware
    # kernel 
vendor/qcom/opensource/camera-kernel camera-kernel
    # frameworks 
vendor/oplus/frameworks/cameraservice cameraservice
frameworks/av/services/camera/libcameraservice libcameraservice
frameworks/av/camera cameraserver    
frameworks/base/core/java/android/hardware/camera2 camera2

    2.2 :单个仓库差异提交

        一般如果Android 13升级到Android 14的话,可能有些仓库并没有差异提交,如kernel仓库。其他仓库的差异提交,可以参考单个仓库的差异提交核查方式:

      2.2.1 查看两个版本差异代码文件细节

:~/qcom/hal/mm-camerasdk$ git diff r2s/sm8250/master  r2s/sm8250/release --statapi/common/chituningmodeparam.h                             |      3 +-api/stats/chistatspropertydefines.h                         |      1 -core/chifeature2/chifeature2base.cpp                        |      9 +-core/chifeature2/chifeature2base.h                          |      1 -core/chifeature2/chifeature2requestobject.cpp               |      5 +-core/chiframework/chxextensionmodule.h                      |      6 +-core/chiofflinepostproclib/chiofflinepostprocencode.cpp     |      9 +-core/chiusecase/chxadvancedcamerausecase.cpp                |     11 +-api/stats/chistatspropertydefines.h                |     2 -core/chifeature2/chifeature2base.cpp               |     7 -core/chifeature2/chifeature2base.h                 |     1 -core/chifeature2/chifeature2requestobject.cpp      |     2 +-core/chiusecase/chxadvancedcamerausecase.cpp       |    11 +-core/chiusecase/chxadvancedcamerausecase.h         |     2 +-core/chiusecase/chxusecasemc.cpp                   |    38 +-core/chiusecase/chxusecasemc.h                     |     1 -.../chifeature2graphselector.cpp                   |     2 -.../kona/chifeature2graphselectoroem.cpp           |    12 +.../feature2/chifeature2rt/chifeature2realtime.cpp |     2 -.../segments/common/RealTimeFeature.xml            |    42 -core/chifeature2/chifeature2base.cpp    |    64 -.../chifeature2/chifeature2baseDeclaration.h  |     5 -core/chifeature2/chifeature2wrapper.cpp |    37 +-.../chifeature2wrapperDeclaration.h           |     5 +-.../core/chiframework/chxextensionmodule.cpp  |    16 +-core/chiframework/chxextensionmodule.h  |     2 -core/chiusecase/BackseatDriver.cpp           |     7 +core/chiusecase/OPMetaManager.cpp            |     1 -core/chiusecase/chxusecasemc.cpp        |     9 +core/chiusecase/chxusecasemc.h          |     8 +.../chifeature2graphselector.cpp              |    32 +-.../chifeature2graphselector.h                |     2 -.../chifeature2rt/chifeature2realtime.cpp     |    34 +-.../chifeature2realtimeDeclaration.h          |     7 +-oem/qcom/node/arceis/eiscustom.cpp      |     3 -oem/qcom/node/satcustom/satcustom.cpp   |   135 +-

      2.2.2  指定文件的详细差异

~/qcom/hal/mm-camerasdk$ git diff r2s/sm8250/master  r2s/sm8250/release api/common/chituningmodeparam.h  
diff --git a/api/common/chituningmodeparam.h b/api/common/chituningmodeparam.h
index 1b8476be283..fdb3c6cddda 100755
--- a/api/common/chituningmodeparam.h
+++ b/api/common/chituningmodeparam.h
@@ -43,7 +43,8 @@ enum class ChiModeUsecaseSubModeTypeVideo    = 2,ZSL      = 3,Liveshot = 4,
-    IDEALRAW = 5
+    SnapshotReprocess = 5,
+    IDEALRAW = 6

      2.2.3 显示所有文件差异

git diff r2s/sm8250/master r2s/sm8250/release

      2.2.4 查看release中比master中多提交了哪些内容

git diff r2s/sm8250/master…r2s/sm8250/release 查看release中比master中多提交了哪些内容,反着写显示效果完全不一样。

:~/qcom/hal/mm-camerasdk$ git diff r2s/sm8250/master..r2s/sm8250/release   
diff --git a/api/common/chituningmodeparam.h b/api/common/chituningmodeparam.h
index 1b8476be283..fdb3c6cddda 100755
--- a/api/common/chituningmodeparam.h
+++ b/api/common/chituningmodeparam.h
@@ -43,7 +43,8 @@ enum class ChiModeUsecaseSubModeTypeVideo    = 2,ZSL      = 3,Liveshot = 4,
-    IDEALRAW = 5
+    SnapshotReprocess = 5,
+    IDEALRAW = 6};:~/qcom/hal/mm-camerasdk$ git diff r2s/sm8250/release..r2s/sm8250/master                    
diff --git a/api/common/chituningmodeparam.h b/api/common/chituningmodeparam.h
index fdb3c6cddda..1b8476be283 100755
--- a/api/common/chituningmodeparam.h
+++ b/api/common/chituningmodeparam.h
@@ -43,8 +43,7 @@ enum class ChiModeUsecaseSubModeTypeVideo    = 2,ZSL      = 3,Liveshot = 4,
-    SnapshotReprocess = 5,
-    IDEALRAW = 6
+    IDEALRAW = 5};

      2.2.5 查看release和master所有差异点

git diff r2s/sm8250/master…r2s/sm8250/release 查看release和master所有差异点

      2.2.6 查看以git log的方式展示差异

git log r2s/sm8250/master…r2s/sm8250/release 查看以git log的方式展示差异

      2.2.7 显示提交在哪个分支

git log -lefg-right r2s/sm8250/release…r2s/sm8250/master 显示提交在哪个分支上。

      2.2.8 查看release中比master中多的提交,只显示commitid,不显示内容

git rev-list r2s/sm8250/master…r2s/sm8250/release 查看release中比master中多的提交,只显示commitid,不显示内容。

~/qcom/hal/mm-camerasdk$ git rev-list r2s/sm8250/master...r2s/sm8250/release
e81c1b889a88c2af87862a913959715948cc90d5
bed8b9a51f31daa64e6f2e8d6fa9cc86b86e2469
33165247a867b5368bac80ca16da3d38035c8395
b00f6fd992845614329c46b3a3b422da17c5d5c4
02c5bb7c5f4c618ef908e0216a1529a47b02f1fb
3b41261706d2e77291d41695c1e773dd6789767c
fe175c4e9beaaca4b447b15f2931a29c3fc39973
e05d6d700511024ea71d75e20077d2d4fe5d3df4
91cdcfa8f293035f88c92d7fd4371c097e1678b6
a2dbcd9f3cf1e60d1bf651acf6eb94ebfd7e2708


        除了gerrit有Change-Id,切了分支也不会变化,但Commit id,切了分支后就变化了,所以对比commitid也无法对比差异。可以git log -1000 > master.txt ,再 git log -1000 > release.txt,然后对比工具对比master.txt和 release.txt发现最下面的都一样,最上面存在合入顺序上的差异,以及差异提交。可以把message里的一行描述grep出来进行对比。也可以把这一行message复制到excel里,出现两次就是都存在的提交,出现1次就是独有的提交。
1:共有的
2:master独有的
3:release独有的

    2.3 :多个仓库差异提交

        通过对单个仓库的差异提交check,自己掌握自己熟练的方式即可。多个仓库将单个仓库的差异汇总即可。

    2.4 :对差异提交进行评估

        有了两个版本的差异提交后,我们可以对每个差异提交的影响范围进行评估,如功能、性能、内存占用、功耗、XTS等等方面评估。

        当测试机出现莫名其妙的问题时,就可以判断是否被差异提交引入,有效快捷的分析问题。

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解

相关文章:

  • 微信小程序 - 手机震动
  • 【Linux 基础知识系列】第十九篇-图形化界面操作与使用
  • MQ常见问题分析——消息可靠性、消息积压、消息幂等问题
  • 多面体编译,具体操作模式
  • 深入解析Linux分页机制:从虚拟内存到物理地址的魔法转换
  • Java TCP网络编程核心指南
  • 机房断电后 etcd 启动失败的排查与快速恢复实录
  • 通过Netplan为Ubuntu服务器新增DNS以解析内部域名
  • 『uniapp』url拦截屏蔽 避免webview中打开淘宝店铺自动跳转淘宝
  • uniapp开发小程序vendor.js 过大
  • LeetCode 11题“盛最多水的容器”
  • 云原生核心技术 (6/12): K8s 从零到一:使用 Minikube/kind 在本地搭建你的第一个 K8s 集群
  • JWT令牌如何在FastAPI中实现安全又高效的生成与验证?
  • 【docker n8n】windows环境如何挂载
  • 论文分享 _ Ladder:一种基于收敛的结构化图区块链_2025-06-10
  • 记录chrome浏览器的一个bug
  • 项目四.高可用集群_ansible
  • Java 数据结构和集合框架(二十二)
  • 区块链Web3项目的开发
  • Linux中shell的循环控制语句和函数讲解
  • 兼职做一篇微信的网站/网站关键词优化代理
  • 做企业内部网站要多久/最新百度关键词排名
  • 今天重大新闻头条新闻国际新闻/西安百度seo排名
  • flask网站开发源码/网站一级域名和二级域名
  • 新疆5g基站建设/2023年8月新冠疫情
  • 用前端做的比较酷的网站/重庆网站排名优化教程