0

我已将所有 android 存储库镜像到我的本地存储库中,但是随着新版本的发布,我发现很难从上游更新。

这是详细信息:

在我镜像 android 源之后,我的修改是在我自己的分支 my-jb-mr1 上我的私人服务器上。my-jb-mr1 是从 aosp jb-mr1 分支出来的。

  • 掌握
  • ...
  • jb-mr1
  • 我的-jb-mr1

现在 kitkat 在 aosp 上发布,我发现我不知道如何更新我的私人服务器以跟踪 aosp。我的想法是

  1. 将 aosp master 合并到我的本地存储库 master,然后推送到我的私有服务器
  2. 分支代码基于aosp上的分支节点

但这似乎行不通。因为我要跟踪的aosp 上的分支是kitkat-dev 和kitkat-release。aosp 上的 master 分支不包括目标分支中的所有提交。

我想要的是从aosp同步。同步后,存储库如下:

  • 掌握
  • ...
  • jb-mr1
  • 奇巧开发
  • kitkat 发布
  • 我的-jb-mr1

kitkat-release 和 kitkat-dev 应该和aosp上的分支完全一样。

谁能给我一些提示如何处理这种情况?

4

1 回答 1

2

通常,AOSP 的主分支将是最新版本分支的超集,但我不确定现在情况是否如此,您的问题似乎证实了这一点。不要期望它一直都是真的,尤其是在发布之后。

要将 Kitkat 分支推送到您的服务器,首先从 AOSP 服务器同步工作区:

repo init --mirror -u https://android.googlesource.com/platform/manifest -b kitkat-dev

通常我建议按照文档的使用本地镜像部分中的描述同步镜像清单,但现在镜像清单不包含在 Kitkat 中添加的所有 git。我希望它们很快就会被添加。

同步完成后,进入工作区并将新分支推送到您的服务器:

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/*
于 2013-11-04T05:24:54.577 回答