我已将所有android存储库镜像到我的本地存储库中,但是在新版本发布时,我发现很难从上游更新。
以下是详细信息:
在我镜像android源代码后,我的修改是在我自己的分支机构my-jb-mr1上的私有服务器上。 my-jb-mr1从aosp jb-mr1分支。
现在kitkat是在aosp上发布的,我发现我不知道如何更新我的私人服务器来跟踪aosp。我的想法是
但这似乎不起作用。因为我想跟踪的aosp上的分支是kitkat-dev和kitkat-release。 aosp上的主分支不包括目标分支中的所有提交。
我想要的是从aosp同步。同步后,存储库就像:
kitkat-release和kitkat-dev应与aosp上的分支完全相同。
任何人都能给我一些提示如何处理这种情况吗?
答案 0 :(得分:2)
通常,AOSP的主分支将成为最新发布分支的超集,但我现在不确定是不是这样,你的问题似乎证实了这一点。不要指望它一直都是真的,特别是在发布后不是这样。
要将Kitkat分支机构推送到您的服务器,请先从AOSP服务器同步工作区:
repo init --mirror -u https://android.googlesource.com/platform/manifest -b kitkat-dev
通常我建议同步镜像清单,如文档的Using a local mirror部分所述,但是现在镜像清单不包含Kitkat中添加的所有gits。我希望它们很快就会被添加。
同步完成后,进入工作区并将新分支推送到服务器:
repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/kitkat-dev:refs/heads/kitkat-dev aosp/kitkat-release:refs/heads/kitkat-release
您还可以使用通配符将所有 AOSP分支推送到您的服务器:
repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/*:refs/heads/*