选项

选项

我通过克隆 git-ubuntu 存储库并在本地提交一些更改来准备上传。作为 Ubuntu 开发人员,我有权上传到存档。我需要做什么才能正确上传我的更改?

答案1

选项

您有两个选择。

1. 上传时没有丰富的历史记录保存

您可以dput照常操作,无需执行任何其他操作。在 Launchpad 接受您的上传后,git-ubuntu 导入器将拾取它并合成与之匹配的提交。git-ubuntu 存储库中的分支指针将相应更新。

这是默认结果,意味着现有开发人员的工作流程不会被迫改变。

这确实意味着您可能在本地进行的更丰富的提交将不会保存在 git-ubuntu 的软件包“官方”存储库中。

您会注意到,这就是当今 git-ubuntu 中大多数上传内容的导入方式——因为我们没有丰富的历史上传历史记录。

2. 上传时保留丰富的历史记录

git-ubuntu 的设计允许将您的提交纳入“官方”记录,从而完全保存您的提交。但是,实现尚未完成。目前,我们有一个权宜之计,可以保存丰富的历史记录,但不幸的是,这确实需要一些手动步骤。

当前进程

请注意,这仅适用于 Ubuntu 上传器。

如果您需要赞助商,请先让您的赞助商审核,因为保存与后续上传不完全匹配的内容将不起作用。请记住,丰富的历史记录保存是可选的。请不要假设您的赞助商愿意遵循此流程。

在此之前dput,请咨询~美元进口团队让导入者能够看到您丰富的历史记录,以便采用。导入者服务在 Launchpad 中看到软件包上传后,会立即查找此丰富的历史记录,如果找不到,则会合成提交,这就是必须这样做的原因 dput

向 ~usd-import-team 提供您丰富的历史记录的最简单方法是通过合并提案的链接。请注意,目前还没有任何通用流程可以确保针对 git-ubuntu 分支的合并提案得到审核。请自行安排或自行批准;当您准备好时dput,请向我们发送合并提案的链接,仅用于丰富的历史记录保存步骤。

未来短期进程

现在Launchpad 每个引用的 ACL 支持已经准备就绪,我们希望能够允许 Ubuntu 上传者将丰富的历史记录推送到导入者直接可见,从而消除当前所需的额外人工步骤的延迟。

长期预期过程

最终,我们希望 git-ubuntu 导入服务能够直接从合并提案或类似提案中获取丰富的历史记录。

基本原理

这怎么显得晦涩难懂呢?

git-ubuntu 存储库旨在反映单一事实来源,对于 Ubuntu 来说,即 Ubuntu 软件包的 Launchpad 出版物。Ubuntu 开发人员上传软件包更新;这些更新会发布,git 存储库应反映这些出版物。这与其他开发项目相反,其他开发项目的流程是相反的:通常开发人员会将更新推送到 git,然后发布git。

为了防止 git 存储库与 Launchpad 出版物不匹配,必须确保 git-ubuntu 分支更新与其对应的 Launchpad 出版物完全匹配它们被推送。我们通过将推送限制到 git-ubuntu 导入器服务来实现这一点。导入器服务仅在其与导入的 Launchpad 出版物完全匹配时才会采用上传器提供的丰富历史记录。如果提供的丰富历史记录不匹配,或者未提供丰富历史记录,则导入器将合成与其导入的 Launchpad 出版物完全匹配的提交。

这意味着我们需要某种方式为 git-ubuntu 导入服务提供丰富的历史记录,这应该解释上面详述的三个选项。

相关内容