web-dev-qa-db-ja.com

git-ubuntuを使用して準備したパッケージをアップロードするにはどうすればよいですか?

Git-ubuntuリポジトリのクローンを作成し、いくつかの変更をローカルにコミットしてアップロードを準備しました。 Ubuntu開発者として、アーカイブにアップロードする権限があります。変更を正しくアップロードするには何をする必要がありますか?

2
Robie Basak

オプション

2つのオプションがあります。

1.豊富な履歴を保存せずにアップロードする

さらに何もせずに、通常どおりdputを実行できます。 Launchpadがアップロードを受け入れた後、git-ubuntuインポーターがそれを選択し、それに一致するコミットを合成します。 git-ubuntuリポジトリのブランチポインターは、それに応じて更新されます。

これはデフォルトの結果であり、既存の開発者のワークフローが強制的に変更されることはありません。

これは、ローカルで行った豊富なコミットセットがgit-ubuntuのパッケージの「公式」リポジトリに保存されないことを意味します。

過去のアップロードの豊富な履歴がないため、これが今日のgit-ubuntuのアップロードの大部分がインポートされた方法であることがわかります。

2.豊富な履歴を保存してアップロードする

Git-ubuntuの設計では、「公式」レコードにコミットを採用することにより、コミットを完全に保存できます。ただし、実装はまだ完了していません。現時点では、豊富な履歴保存を可能にするストップギャップメジャーがありますが、残念ながらこれにはいくつかの手動の手順が必要です。

現在のプロセス

これはUbuntuアップローダーにのみ適用されることに注意してください。

スポンサーが必要な場合は、スポンサーに最初のレビューを依頼してください。後続のアップロードと完全に一致しないものの保存は機能しません。豊富な履歴の保存はオプションです。スポンサーがこのプロセスを進んで進んでいるとは思わないでください。

dputの前に、 〜usd-import-team のメンバーに問い合わせて、豊富な履歴をインポーターが表示できるようにします。インポーターサービスは、Launchpadでパッケージのアップロードを確認するとすぐに、この豊富な履歴を探し、見つからない場合はコミットを合成します。そのため、これを行う必要がありますbeforedput

〜usd-import-teamに豊富な履歴を提供する最も簡単な方法は、マージプロポーザルへのリンクを使用することです。 git-ubuntuブランチに対するマージ提案がレビューされることを保証する一般的なプロセスはまだないことに注意してください。ご自身で手配するか、希望に応じて自己承認してください。 dputの準備ができたら、豊富な履歴保存ステップのみのマージ提案へのリンクを送信してください。

将来の短期プロセス

Launchpad per-ref ACL support の準備ができたので、Ubuntuアップローダーがリッチヒストリをプッシュしてインポーターに直接表示できるようにして、現在必要な余分な人間のステップの待ち時間をなくすことができるようにしたいと思います。

長期的なプロセス

最終的に、git-ubuntuインポーターサービスは、マージプロポーザルなどから豊富な履歴を直接取得できるようにする予定です。

根拠

なぜこれは鈍角に見えるのですか?

Git-ubuntuリポジトリは、UbuntuのUbuntuパッケージのLaunchpadの出版物である真実の単一のソースを反映することを目的としています。 Ubuntu開発者はパッケージの更新をアップロードします。これらは公開され、gitリポジトリはこれらの公開を反映することが期待されています。これは、フローが反対である他の開発プロジェクトの反対です。通常、開発者はgitにプッシュし、リリースfromgitにします。

GitリポジトリがLaunchpadのパブリケーションと一致しないようにするには、git-ubuntuブランチの更新が対応するLaunchpadのパブリケーションと完全に一致することを確認する必要がありますbeforeプッシュされます。これを実現するには、プッシュをgit-ubuntuインポーターサービスのみに制限します。インポーターサービスは、インポートするLaunchpadパブリケーションと完全に一致する場合にのみ、アップローダーによって提供される豊富な履歴を採用します。提供されたリッチヒストリが一致しない場合、またはリッチヒストリが提供されない場合、インポーターは代わりに、インポートするLaunchpadパブリケーションと完全に一致するコミットを合成します。

これは、上記の3つのオプションを説明するgit-ubuntuインポーターサービスに豊富な履歴を提供するための何らかの方法が必要であることを意味します。

1
Robie Basak