AOSP升级codebase疑难总结

本文详细记录了在升级AOSP codebase时遇到的换行符格式问题,导致git无法正确识别代码差异。通过配置git忽略文件模式差异、禁用自动换行符转换和确保无混合换行符文件,成功解决了问题,完成了codebase的升级。总结中强调了统一开发环境的重要性以及熟悉Linux和Git命令的必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 摘要

本文讲述笔者在升级codebase时遇到的一些疑难问题和解决思路。


二、 流程

2.1 准备源码

整个升级的策略为两个步骤:

  • 升级后版本源码与升级前版本源码进行diff得到patch
  • 将patch应用于vendor自己的节点并解冲突

因此,第一步是准备升级前后两个版本的源码


2.2 配置git仓库

配置git仓库的目的,是为了利用git进行diff,之所以不使用Linux自带的diff命令,是因为下一步所述问题。

将升级前版本源码初始化为git仓库,可提交服务器(gerrit)


2.3 源码替换

这是最坑的一步。原先笔者将升级前代码删光,然后将升级后代码直接复制过来,心想git立马就能检测出差异,差异即升级内容,然后笔者提交至服务器,review发现,出现了大量内容完全一致的修改。

google一下后,了解到,出现该问题是因为两份代码的换行符格式不同,简单介绍一下:

换行符有两种:

  • CR(Carriage Return),即\r
  • LF(Line Feed),即\n

不同的OS上使用的换行符:

  • Unix/Linux:LF,十六进制为0x0A
  • MacOS:CR,十六进制为0x0D
  • Dos/Windows:CRLF,十六进制为0x0D0A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值