百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Android repo技巧:详解repo sync如何单独同步一个或多个仓库

cac55 2024-09-19 17:01 66 浏览 0 评论

执行 repo sync 命令默认会同步 Android 源码的所有 git 仓库。如果想要单独同步一个、或多个 git 仓库,可以提供一个、或多个 project 参数来指定要同步的 git 仓库路径。具体命令格式如下:

  • Usage: repo sync [<project>...]

关键是,如何知道某个 git 仓库对应的 project 参数值是什么,是 git 仓库所在的子目录名,还是 git 仓库在 repo 中保存的完整目录路径,或是其他?

经过实际测试发现,这里提供的 project 参数值是基于当前 shell 的工作目录寻址到目标 git 仓库的目录路径,而不是 git 仓库在 repo 中保存的完整目录路径,也不是 git 仓库的子目录名。

例如执行 repo status 命令打印了下面的 git 仓库信息:

project android/packages/apps/Settings/ branch branch_m
 -m res/values-zh-rCN/strings.xml

可以看到,这个 git 仓库在 repo 中保存的完整路径是 android/packages/apps/Settings/,所在的子目录名是 Settings。

我们使用 cd 命令进入到 android 子目录,测试如下。

  1. 在当前的 android 子目录下执行 repo sync android/packages/apps/Settings/ 命令,会执行报错:
$ repo sync android/packages/apps/Settings/
error: project android/packages/apps/Settings/ not found

即,当前 shell 的工作目录在 android 子目录下,把要同步的 git 仓库在 repo 中的完整目录路径 android/packages/apps/Settings/ 作为参数传给 repo sync 命令,会执行报错,基于这个路径不能定位到要同步的 git 仓库。

  1. 传入 packages/apps/Settings/ 这个路径可以正常执行:
$ repo sync packages/apps/Settings/
Fetching project platform/packages/apps/Settings/

基于当前所在的 android 子目录,可以正常定位到所给 packages/apps/Settings/ 路径下的 git 仓库。

  1. 使用 cd 命令进入到 android/packages/apps/Settings/ 目录下,然后执行 repo sync . 命令不会报错:
$ repo sync .
Fetching project platform/packages/apps/Settings/

基于这几个测试结果可以发现,repo sync 后面跟着的 project 参数值应该是基于当前 shell 工作目录能够寻址到该 git 仓库的目录路径,类似于 cd 命令的路径寻址方式。

查看 repo help sync 命令打印的帮助信息,对 project 参数的说明如下,符合上面的验证结果:

'repo sync' will synchronize all projects listed at the command line. Projects can be specified either by name, or by a relative or absolute path to the project's local directory. If no projects are specified, 'repo sync' will synchronize all projects listed in the manifest.

即,可以提供 project name、或者提供能够寻址到该 project 本地目录的相对路径或绝对路径来指定要同步的 project。

这里说的 project name 并不是 git 仓库的子目录名,具体值要在 repo 命令生成的 .repo/ 目录下查看。例如,查看 .repo/ 目录下的 manifest.xml 文件,有如下信息:

<project groups="p-fs-release,pdk-fs" name="platform/packages/apps/Settings"
 path="android/packages/apps/Settings" />

可以看到,Settings 子目录的 git 仓库在 repo 中保存的完整路径是 android/packages/apps/Settings,跟上面例子打印的信息相符。而它的 name 是 platform/packages/apps/Settings。

那么只要当前 shell 的工作目录是 Android 源码的子目录,不管在哪个子目录下,执行 repo sync platform/packages/apps/Settings 命令都会同步 Settings 这个 git 仓库的代码,这里不再举例,可以自行验证。

相关推荐

正版系统受害者?微软确认部分用户Windows 7桌面变黑屏

IT之家1月27日消息微软Windows7系统已经于1月14日终止支持,微软不再致力于为已有数十年历史的OS推送新的质量更新。根据报道,微软最新的Windows7安全补丁更新破坏了该操作系统的基...

官方确认 盗版系统无法升Win 10

2015-07-3005:19:00作者:胡永彬中关村在线消息:Win10系统已经发布,官方宣称能够免费升级让我们非常高兴。不过并不是所有人都能免费升级的,据微软大中华区消费渠道事业部总经理张永利...

一文看懂Windows激活:自查方法+授权类型科普(Win7/Win10通用)

一、如何判断Windows是否永久激活?无论是Win7还是Win10,均可通过以下方法快速验证:命令提示符法(通用):按下Win+R,输入slmgr.vbs/xpr并按回车键运行即可查看是否...

你想打高危漏洞补丁,但是你不确定你的电脑系统是不是正版

如果不确定你的Windows系统版本是不是正版,可以按以下两种方法查看。方法一:1.在键盘上按下Win+R键,弹出“运行”窗口;2.在“运行”窗口的文本框中输入“slmgr.vbs-dlv”(注意v...

官方正版windows11无密钥安装

不管你目前用的是Win7还是Win10的操作系统,如果你想要安装Win11系统都可以按照下面的方法进行安装官方正版的windows11。当然,硬件必须要达到要求:系统要求的变化是Windows11...

windows11官网正版下载流程

windows11出来有一段时间了,最近刚好需要重做系统。那就试试新的win11吧。因为不喜欢各种第三方提供的下载,主要怕不安全。于是就从微软官网下载,现在把下载流程记录如下,方便需要的小伙伴。首先...

5块钱激活的Win10是否正版?微软回应:来这里检查

微软的Windows10系统(简称Win10)已经装机量超过10亿,很多人都是通过免费手段升级的。但是Win10系统并不是免费的,卖价还是挺贵的,家庭版就要1088元,很多人并不会买这么贵的。除了官...

Adobe推出正版检测系统 盗版会收到警示

【中关村在线软件资讯】5月24日消息:Adobe系列软件高昂的价格也促使了大量盗版Adobe软件的诞生,现在Adobe决定推出一个新的措施来与盗版对抗。据悉,Adobe最近推出了一个检测系统,能够检测...

解决Adobe正版验证弹窗警告(三种解决方法)

很多人在使用PS的过程中都会遇到提示非正版并且禁用的警告,可以尝试以下几种方法去解决。·第一种方法:可以使用修复工具下载并运行Adobe非正版弹窗警告的修复工具,并选择以管理员的身份去运行它,按照提示...

如何检测你的Windows系统是正版还是盗版?

电脑一般自己装个系统要么是没激活的,要么是盗版的,用着总是让人觉得不是那么的安心,那么接下来分享如何检测你的电脑系统是正版还是盗版?一般经常玩电脑的朋友都是通过右击桌面计算机点击属性里面查看电脑是否激...

再铺一次瓷砖,我死磕这6个细节!不是矫情,是血汗钱换来的教训

第一次装修踩的坑,第二次装修全避开!铺瓷砖这活儿,看着简单实则暗藏玄机。今天就把我花五万块买来的教训,掰开揉碎讲给你听,记住这6个细节,省下的钱够买半台冰箱!细节一:别信“瓷砖通铺显大”的鬼话!都说...

Windows 11系统,这款二合一笔记本居然才2000出头!

随着科技的不断发展,二合一电脑已经成为了一个更加全面和便捷的选择。DERE戴睿T60二合一笔记本,现在价格只要2000出头,国补后甚至不到2000!对于有二合一笔记本需求的宝子来说,无疑是一个不错的选...

爸妈的眼里,总少个我的位置

我家四个孩子,我是老大,底下俩妹妹,最小的是弟弟。从小我就知道,这家里的秤砣是歪的,那秤星全往弟弟那边偏。小时候过年,妈总会提前把新衣服拿出来。弟弟的永远是带拉链的夹克,胸前印着当时最火的卡通人物,我...

被吹上天的客厅“风管机”,值得投入吗?过来人说说大实话

作为家里刚装完风管机的“过来人”,聊几句大实话。当初装修公司狂推风管机,说比柜机便宜又节省空间,现在想想真是被戳中了中年人既要面子又要里子的心思。装好确实看着高级,不像柜式空调占着电视墙一平米好几万的...

电线不要埋墙了!试试这样做,真是聪明又实用,太佩服了

前阵子帮亲戚家看装修,聊到水电改造,他直摇头:“当年图省事把电线全埋墙里,现在想在客厅加个投影仪插座,师傅说墙里线路太密,改不了!只能走明线,像条大蜈蚣爬在墙上,看着闹心。”这事儿让我想起最近跟装修...

取消回复欢迎 发表评论: