repo 和 jiri 之间的主要区别是什么?
What are the main differences betwen repo and jiri?
Google 自 repo 一段时间以来一直在 Android 背景下推广,并已被其他一些与 Android 无关的项目采用。
在 Google 的操作系统中引入了 Fuchsia Jiri。
这两个工具的背景是什么?
如果他们不解决同样的问题,他们的目标是什么?
我目前的经验是 jiri 允许您级联依赖项,所以这比 Repo 更进一步(其中 you can include 其他清单,但以 fetch->include 方式级联它们可能更棘手)。
Repo 允许您设置一个涵盖几乎所有项目的根清单 + 允许本地包含。每个项目都是一个独立的 git 存储库。单个回购清单是一个独立的实体,它本身描述了整个项目结构。
Jiri 允许您合并多个清单。每个 'sub-repository' 都可以定义自己的 git 个存储库结构。
在您的顶级清单(结帐清单或 .jiri_manifest)中,您指定要包含的项目清单。然后每个项目清单都可以指定其自己的依赖项。这是来自 fuchsia project; Take a look at the fuchsia manifest file: it pulls in manifest/topaz from topaz
project, which, in turn, imports manifest/peridot 的一些例子,在特定的 GIT SHA 作为它自己的依赖项。
你不能轻易地用 repo 创建这种类型的级联依赖,但这里也有一个缺点:jiri 给你很大的灵活性,但可能会变成维护负担,尤其是在某些时候你的任何代码最终取决于相同的子组件,但 SHA 不同(并且由于多种原因,您可能会陷入这种情况)。
无论您的项目有多复杂,我通常都会建议您使用 repo。这在非常大的项目(Android,集成了 1100 多个项目)中有着良好的记录。 Jiri 在纸面上看起来不错,但如果您不及时解决依赖问题,可能会适得其反。
Google 自 repo 一段时间以来一直在 Android 背景下推广,并已被其他一些与 Android 无关的项目采用。
在 Google 的操作系统中引入了 Fuchsia Jiri。
这两个工具的背景是什么? 如果他们不解决同样的问题,他们的目标是什么?
我目前的经验是 jiri 允许您级联依赖项,所以这比 Repo 更进一步(其中 you can include 其他清单,但以 fetch->include 方式级联它们可能更棘手)。
Repo 允许您设置一个涵盖几乎所有项目的根清单 + 允许本地包含。每个项目都是一个独立的 git 存储库。单个回购清单是一个独立的实体,它本身描述了整个项目结构。
Jiri 允许您合并多个清单。每个 'sub-repository' 都可以定义自己的 git 个存储库结构。
在您的顶级清单(结帐清单或 .jiri_manifest)中,您指定要包含的项目清单。然后每个项目清单都可以指定其自己的依赖项。这是来自 fuchsia project; Take a look at the fuchsia manifest file: it pulls in manifest/topaz from topaz
project, which, in turn, imports manifest/peridot 的一些例子,在特定的 GIT SHA 作为它自己的依赖项。
你不能轻易地用 repo 创建这种类型的级联依赖,但这里也有一个缺点:jiri 给你很大的灵活性,但可能会变成维护负担,尤其是在某些时候你的任何代码最终取决于相同的子组件,但 SHA 不同(并且由于多种原因,您可能会陷入这种情况)。
无论您的项目有多复杂,我通常都会建议您使用 repo。这在非常大的项目(Android,集成了 1100 多个项目)中有着良好的记录。 Jiri 在纸面上看起来不错,但如果您不及时解决依赖问题,可能会适得其反。