相机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等等方面评估。
当测试机出现莫名其妙的问题时,就可以判断是否被差异提交引入,有效快捷的分析问题。
【关注我,后续持续新增专题博文,谢谢!!!】
下一篇讲解: