Robie Basak Asked: 2018-10-23 04:28:16 +0800 CST2018-10-23 04:28:16 +0800 CST 2018-10-23 04:28:16 +0800 CST 使用 git-ubuntu 准备后,我应该如何上传包? 772 我通过克隆 git-ubuntu 存储库并在本地提交一些更改来准备上传。作为 Ubuntu 开发人员,我有权上传到存档。我需要做什么才能正确上传我的更改? development packaging deb source-packages git-ubuntu 1 个回答 Voted Best Answer Robie Basak 2018-10-23T04:28:16+08:002018-10-23T04:28:16+08:00 选项 你有两个选择。 1.上传没有丰富的历史保存 你可以dput像往常一样不做任何进一步的事情。在 Launchpad 接受您的上传后,git-ubuntu 导入器将拾取它并合成与其匹配的提交。git-ubuntu 存储库中的分支指针将相应更新。 这是默认结果,意味着现有开发人员的工作流程不会被迫更改。 这确实意味着您可能在本地进行的一组更丰富的提交将不会保留在 git-ubuntu 的“官方”包存储库中。 你会注意到,今天 git-ubuntu 中的大多数上传都是这样导入的——因为我们没有丰富的历史上传历史。 2.上传具有丰富的历史保存 git-ubuntu 的设计允许通过将它们纳入“官方”记录来完全保存您的提交。但是,实施尚未完成。目前,我们有一个权宜之计,可以保存丰富的历史记录,但不幸的是,这确实需要一些手动步骤。 当前进程 请注意,这仅适用于 Ubuntu 上传者。 如果您需要赞助商,请先让您的赞助商审核,因为保留与后续上传不完全匹配的内容将不起作用。请记住,丰富的历史保存是可选的。请不要假设您的赞助商愿意遵循此流程。 之前dput,请~usd-import-team 的成员让进口商可以看到您的丰富历史以采用。导入器服务一看到 Launchpad 中的包上传,它就会查找这个丰富的历史记录,如果找不到则合成一个提交,这就是为什么必须在此之前 dput完成此操作的原因。 向 ~usd-import-team 提供丰富的历史记录的最简单方法是通过指向合并提案的链接。请注意,目前还没有任何通用流程可以确保针对 git-ubuntu 分支的合并提案得到审核。请自行安排或自行批准;当您准备好时dput,请向我们发送一个指向合并提案的链接,仅用于丰富的历史保存步骤。 未来的短期过程 现在Launchpad per-ref ACL 支持已经准备就绪,我们希望能够让 Ubuntu 上传者将丰富的历史推送到导入器直接可见,从而消除当前所需的额外人工步骤的延迟。 长期预期过程 最终,我们打算让 git-ubuntu 导入服务能够直接从合并提案或类似内容中获取丰富的历史记录。 基本原理 为什么这看起来很迟钝? git-ubuntu 存储库旨在反映单一的事实来源,对于 Ubuntu,它是 Ubuntu 软件包的 Launchpad 出版物。Ubuntu 开发者上传包更新;这些被发布,并且 git 存储库预计会反映这些发布。这与其他流程相反的开发项目相反:通常开发人员推送到 git,并从git 发布。 为了防止 git 存储库与 Launchpad 发布不匹配,需要确保 git-ubuntu 分支更新在推送之前与其对应的 Launchpad 发布完全匹配。我们通过限制只推送到 git-ubuntu 导入服务来实现这一点。导入服务将采用上传者提供的丰富历史,前提是它与正在导入的 Launchpad 出版物完全匹配。如果提供的丰富历史不匹配,或者如果没有提供丰富的历史,那么导入器将改为合成与它正在导入的 Launchpad 发布完全匹配的提交。 这意味着我们需要某种方式来为 git-ubuntu 导入器服务提供丰富的历史记录,这应该解释上面详述的三个选项。
选项
你有两个选择。
1.上传没有丰富的历史保存
你可以
dput
像往常一样不做任何进一步的事情。在 Launchpad 接受您的上传后,git-ubuntu 导入器将拾取它并合成与其匹配的提交。git-ubuntu 存储库中的分支指针将相应更新。这是默认结果,意味着现有开发人员的工作流程不会被迫更改。
这确实意味着您可能在本地进行的一组更丰富的提交将不会保留在 git-ubuntu 的“官方”包存储库中。
你会注意到,今天 git-ubuntu 中的大多数上传都是这样导入的——因为我们没有丰富的历史上传历史。
2.上传具有丰富的历史保存
git-ubuntu 的设计允许通过将它们纳入“官方”记录来完全保存您的提交。但是,实施尚未完成。目前,我们有一个权宜之计,可以保存丰富的历史记录,但不幸的是,这确实需要一些手动步骤。
当前进程
请注意,这仅适用于 Ubuntu 上传者。
如果您需要赞助商,请先让您的赞助商审核,因为保留与后续上传不完全匹配的内容将不起作用。请记住,丰富的历史保存是可选的。请不要假设您的赞助商愿意遵循此流程。
之前
dput
,请~usd-import-team 的成员让进口商可以看到您的丰富历史以采用。导入器服务一看到 Launchpad 中的包上传,它就会查找这个丰富的历史记录,如果找不到则合成一个提交,这就是为什么必须在此之前dput
完成此操作的原因。向 ~usd-import-team 提供丰富的历史记录的最简单方法是通过指向合并提案的链接。请注意,目前还没有任何通用流程可以确保针对 git-ubuntu 分支的合并提案得到审核。请自行安排或自行批准;当您准备好时
dput
,请向我们发送一个指向合并提案的链接,仅用于丰富的历史保存步骤。未来的短期过程
现在Launchpad per-ref ACL 支持已经准备就绪,我们希望能够让 Ubuntu 上传者将丰富的历史推送到导入器直接可见,从而消除当前所需的额外人工步骤的延迟。
长期预期过程
最终,我们打算让 git-ubuntu 导入服务能够直接从合并提案或类似内容中获取丰富的历史记录。
基本原理
为什么这看起来很迟钝?
git-ubuntu 存储库旨在反映单一的事实来源,对于 Ubuntu,它是 Ubuntu 软件包的 Launchpad 出版物。Ubuntu 开发者上传包更新;这些被发布,并且 git 存储库预计会反映这些发布。这与其他流程相反的开发项目相反:通常开发人员推送到 git,并从git 发布。
为了防止 git 存储库与 Launchpad 发布不匹配,需要确保 git-ubuntu 分支更新在推送之前与其对应的 Launchpad 发布完全匹配。我们通过限制只推送到 git-ubuntu 导入服务来实现这一点。导入服务将采用上传者提供的丰富历史,前提是它与正在导入的 Launchpad 出版物完全匹配。如果提供的丰富历史不匹配,或者如果没有提供丰富的历史,那么导入器将改为合成与它正在导入的 Launchpad 发布完全匹配的提交。
这意味着我们需要某种方式来为 git-ubuntu 导入器服务提供丰富的历史记录,这应该解释上面详述的三个选项。