我正在尝试创建 AOSP 的新分支(在我的开发机器上)并将其推送到本地镜像(在同一 LAN 上的服务器上)。我找不到解释如何执行此操作的“repo”工具的文档。
我在我的服务器上创建了 AOSP 源的镜像,使用:
$ mkdir -p ~/aosp/mirror
$ cd ~/aosp/mirror
$ repo init -u https://android.googlesource.com/mirror/manifest --mirror
然后我在另一台计算机上同步:
$ repo init -u <USERNAME>@<IP_OF_SERVER>:/home/<USERNAME>/aosp/mirror/platform/manifest.git -b android-4.2.2_1
$ repo sync
到目前为止,一切都很好。我正在使用“-b android-4.2.2_1”,因为我需要我的开发以使用这个版本的 JellyBean 作为基线。
然后我使用“repo start”创建一个新分支:
$ repo start my-branch-name --all
还好。问题是,我不知道如何将此分支“推送”到远程服务器。
当我这样做时,repo info
我看到:
Manifest branch: refs/tags/android-4.2.2_r1
Manifest merge branch: android-4.2.2_r1
Manifest groups: all,-notdefault
----------------------------
Project: platform/abi/cpp
Mount path: /home/<username>/<project_name>/android/abi/cpp
Current revision: refs/tags/android-4.2.2_r1
Local Branches: 1 [my-branch-name]
---------------------------
....
当我尝试时,repo upload
我得到:
no branches ready for upload
然后我尝试repo forall -c "git push aosp my-branch-name"
了将本地分支推送到每个远程存储库,但似乎这不是正确的方法。特别是,如果我尝试创建一个新客户端,并尝试同步到分支它不起作用。
$ repo init -u <USERNAME>@<IP_OF_SERVER>:/home/<USERNAME>/aosp/mirror/platform/manifest.git -b my-branch-name
error: revision my-branch-name in manifests not found
创建“清单分支”的正确方法是什么?