我通过克隆 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 导入服务提供丰富的历史记录,这应该解释上面详述的三个选项。