我在$AOSP_ROOT/device/
下创建了一个新的设备mydevice/
。我尝试将git添加到$AOSP_ROOT/.repo
中以进行本地跟踪,我发现如果我能在执行repo status
或repo diff
时看到更改,这将非常有用。以下是我尝试的步骤:
1.在mydevice
文件夹中执行git init
,保留未提交的更改
1.将项目添加到$AOSP_ROOT/.repo/manifest.xml
不幸的是,当我执行repo status
时,我的项目没有反映在输出中。我做错了什么?
1条答案
按热度按时间g52tjvyc1#
假设
$HOME
是/home/consy/
,而$AOSP_ROOT
是/home/consy/aosp/
。现在,当您运行
repo sync
时,项目在本地清单中定义的将作为额外项目添加到$AOSP_ROOT
中。您可以使用repo命令(如repo status
)来操作这些额外项目。存储库将从/home/consy/mydevice.git
克隆并 checkout 到$AOSP_ROOT/device/mydevice
。在$AOSP_ROOT/device/mydevice
下进行新提交后,您可以运行git push this <ref>:<ref>
将提交上传到/home/consy/mydevice.git
。稍后,当您认为它已经准备好将这个新的存储库发布到一真实的主机,比如Github或者您自己的Gerrit时,您可以添加一个指向Github或Gerrit的新远程控件并通过它。然后将项目定义<project name="mydevice" path="device/mydevice"/>
添加到repo init
时使用的主清单中,提交更改,并将其推送到远程清单存储库。您可以删除$AOSP_ROOT/.repo/local_manifests
下的本地清单以避免出现重复项目错误。至于本地清单功能,请参见https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md上的
Local Manifests
。如果链接无法访问,请谷歌repo manifest format
。该文档也可以在.repo/repo/docs
下获得。