openSUSE:构建服务概念 源分支
源分支
协作开发软件包
构建服务的主要目标之一是促进社区成员在各个层面的协作。在开源世界中协作最自然的方式是共同编写代码。
虽然这在源代码级别上是一个已知领域,但在软件包构建领域仍然是全新的。人们希望改进现有的项目和软件包。这很好,但仍然应该为项目提供强大的维护者,以保证大型项目的高质量。因此,构建服务的隐私概念不允许更改直接应用于没有写入权限的项目。
解决方案
我们希望鼓励协作,以便每个人都可以从所有项目分支所有软件包并在私有分支中对其进行处理。
当软件包比以前更好时,可以发布 以将更改应用于原始项目。这要求原始项目的拥有者考虑这些更改。
详细信息
想要创建项目 (=基础项目) 的改进版本 (=分支项目) 的开发者在客户端中调用“改进此软件包”功能(具体如何取决于客户端)。客户端检查用户是否具有项目中的写入权限,如果是,则客户端进入正常的编辑模式。
如果用户没有权限写入项目,则 API 会创建基础项目的一个分支。现在可以对分支项目进行处理、构建和测试。如果分支软件包按要求工作,则维护分支的人员可以设置 。
是构建服务的一个通用功能,旨在帮助支持人与人之间的协作。
可以被基于项目的维护者接受或拒绝,或者被请求者取消。如果合并请求被接受,则基础软件包将使用来自分支项目的差异进行修补,并且合并请求的状态将被设置为已接受。
有关 的更多详细信息。
为了使构建服务项目可以为所有软件包拥有不同的维护者,但仍然为项目提供集中的维护,存在 的概念。这些有助于防止大型构建服务项目(例如 Factory)的维护者收到大量的请求。