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

相机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等等方面评估。

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

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

下一篇讲解

http://www.xdnf.cn/news/13191.html

相关文章:

  • 项目又延期?如何用“灵活IT人力外包”快速补位技术缺口
  • Android高性能音频与图形开发:OpenSL ES与OpenGL ES最佳实践
  • NexusTerminal一款视频移动端的webSSH
  • 人工操舵是如何操作的?介绍人工操舵的经验和规律
  • 云原生核心技术 (4/12): Docker 进阶:镜像优化实战与 Docker Compose 揭秘
  • Python----OpenCV(图像处理——图像的多种属性、RGB与BGR色彩空间、HSB、HSV与HSL、ROI区域)
  • Dual-Port MIPI to HDMI 2.0,4k@60Hz
  • Java + Spring Boot项目枚举(Enum)目录建议
  • Couchbase 可观测性最佳实践
  • 二十、【用户管理与权限 - 篇二】前端交互:实现用户管理界面
  • C++17 std::string_view:性能与便捷的完美结合
  • 【习题】应用程序框架基础
  • 蓝桥杯国赛训练 day3
  • C++ 8.1 内联函数
  • 【Nginx系列】Nginx 负载均衡策略之 least_conn
  • shell脚本--查看应用的cpu 和 内存使用率 并把最新告警内容显示出来
  • Huggingface-CLI的使用
  • AIStarter 4.0 苹果版体验评测|轻松部署 ComfyUI 与 DeepSeek 的 AI 工具箱
  • 二刷苍穹外卖 day01
  • 为MySQL社区版实现审计功能:从插件配置到日志监控全解析
  • python 本地运行Qwen3-Embedding-0.6B 模型提供API接口
  • 【QT】通讯类HttpAPI:获取MAC、主机IP、端口IP有效性判断
  • CTFSHOW pwn143 WP
  • linux 更新ollama服务
  • 亚马逊云科技 Amazon Pinpoint 解决方案:构建智能全渠道互动平台,重塑用户增长体验
  • 数据库管理与高可用-PostgreSQL初体验
  • [特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
  • 安全生产管理是什么?安全生产管理系统都有哪些核心功能?
  • Android 应用开发概述与环境搭建指南
  • DBSyncer:一款开源的数据同步工具