级联git存储库,SoC Linux内核 [英] Cascaded git repositories, SoCs Linux kernel
问题描述
我打开这个问题是为了更好地理解下面讨论类型的项目中的
git存储库依赖关系。
例如,OMAP或MSM SoC硬件平台从ARM架构与Linux内核开发的组织方式相同:
Linus vanilla内核存储库>> ARM适配内核存储库>> vendor's SoC适配内核存储库。
>>表示直接关系在父克隆仓库之间。
因此,如果上述情况属实,则应该存在级联仓库。本地存储库是从供应商的SoC内核存储库克隆的,用于补丁开发或类似于级联的最新阶段。
我猜,由于建议从平台项目库,克隆,而不是直接的香草Linux操作系统。
Linaro的中上游化给Linus树延迟似乎是ARM的协作平台。代码极光论坛似乎是一些额外的合作平台。
这两者都可能为所提供的平台的最终内核做出贡献。
可能在那里存在更多的开源协作平台,而不是上述两个以上的
并涉及级联。
问题1
如何列出我的存储库的遥控器的遥控器?
git分支-r
以下列形式提供了远程跟踪分支列表项目:
origin / level_2-path-element / level_1-path-element / level_0-path-element / branch-name
例如
起源/ Linaro的/ Linux的Linaro的稳定/ v3.14 /主题/ AOSP
问题2
问题是所有路径级别引用?难道这些父树枝,或者更确切地说,父遥控器?
你有什么区别首先遥控器来自
分支
的索引。所有使用 remotes
的操作都是由 git remote ...
。
<因此,答案1 。
git remote -v
会显示您订阅的遥控器的详细列表。 答案2 有点模糊,因为你必须参与你正在谈论的项目。所以,通常第一部分是远程的,第二部分是在这个特定的远程分支。请注意,顺便提一下,分支名称可以包含'/'字符,但它与任何实际路径无关! 我如何处理存储库(由于git 2.5.0+的新特性,我必须改变这一点)是克隆这个项目的主存储库, origin 作为 linux-kernel ,然后添加遥控器,例如我将 stable 添加为 linux-stable 和下为 linux-next 。这是一个裸仓库(没有工作目录)。然后我为这个创建一些额外的参考存储库。而且我还要添加我想要的这些存储库的其他遥控器。通常我有几个基于子系统的树被添加到其中一个存储库(比如 spi 或 tty-next )以及另一个存储库中的实验性内容。
+ ---------------------------- + ---- ----------------------- +
| | |
| + ------ v ------ + |
| |参考| |
| | | |
| |起源| |
| + ------------- + | | + ------------- + |
| |主题REPO1 | |稳定| |主题REPO2 | |
| | | | | | | |
+ --- +(参考)| |下一页| | (参考)+ - +
| | + ------------- + | |
|分支X | |分支Y |
+ ------------- + | |
| spi |
| |
| tty-next |
+ ------------- +
I open this question in order to get more understanding of
the git repository dependencies in project of the kind addressed below.
As for instance the OMAP or MSM SoC hardware platform evolve from ARM architecture the same way the development of Linux kernel might be organized:
Linus vanilla kernel repository >> ARM adaptations kernel repository >> vendor's SoC adaptations kernel repository.
">>" means the direct relation between parent-clone repositories.
So, if the above is true, there should exist a cascade of repositories. The local repository cloned from vendor's SoC kernel repository for purposes of patch development or similar as the latest stage in cascade.
I guess, due to delays in upstreaming to Linus tree it is recommended to clone from platform project repository, not directly the vanilla Linux.
Linaro seems to be collaborate platform for ARM.
Code Aurora Forum seems to be some additional collaborate platform.
Both might contribute to the final kernel for the addressed platform.
Possibly there exist more Open Source collaborate platform than those two above
and involved in the cascade.
Question 1 How to list the remotes of my repository's remote?
git branch -r
provides the list of remote tracking branches with list item also in following form
origin/level_2-path-element/level_1-path-element/level_0-path-element/branch-name
e.g.
origin/linaro/linux-linaro-stable/v3.14/topic/aosp
Question 2 The question is what do all the path level refer to? Are these the parent branches, or rather parent remotes?
First of all you have to distinguish remotes
from branches
in index. All operations with remotes
are made by git remote …
.
And thus the answer 1. git remote -v
will show you detailed list of remotes you are subscribed to.
The answer 2 a bit fuzzy since you have to be involved a bit into the project you are talking about. So, usually first part is remote, second one is branch in this specific remote. Note, by the way, that branch names can contain '/' characters but it has nothing to do with any actual path! Just a convenient name let's say.
Way how I deal with repositories (I have to change this a bit because of new feature of git 2.5.0+) is to clone master repository of the project, origin as linux-kernel, then I add remotes, for example I have stable as linux-stable, and next as linux-next. This is a bare repository (no working directory). Then I create few additional reference repositories to this one. And I add as many additional remotes I want to this repositories. Usually I have few subsystem based trees added to one of repository (like spi or tty-next) and my experimental stuff in another repository.
+----------------------------+---------------------------+
| | |
| +------v------+ |
| | REFERENCE | |
| | | |
| | origin | |
| +-------------+ | | +-------------+ |
| | TOPIC REPO1 | | stable | | TOPIC REPO2 | |
| | | | | | | |
+---+ (reference) | | next | | (reference) +--+
| | +-------------+ | |
| branch X | | branch Y |
+-------------+ | |
| spi |
| |
| tty-next |
+-------------+
这篇关于级联git存储库,SoC Linux内核的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!