web-dev-qa-db-ja.com

Drupalコアにパッチをどのように提供しますか?

Drupalコアにパッチを提供する適切なプロセスは何ですか?

Drupalコアでバグを見つけて修正し、そして パッチを作成する でバグを見つけたとしましょう。どうすれば提出できますか?

バグがDrupal 7にある場合、Drupal 8でも修正して、2つのパッチを送信する必要がありますか?これはドキュメントのバグにも適用されますか?改善?

すべてのパッチにも単体テストが必要ですか?

10
mpdonadio

バグがDrupal 7にある場合、Drupal 8でも修正して、2つのパッチを送信する必要がありますか?

開発中のバージョン(この場合Drupal 8))と以前のバージョン(Drupal 7)にバグが存在する場合は、まず現在開発されているバージョンを修正してから、以前のバージョン。

バグが削除された機能やすでに変更された機能に起因するなど、バグが最新の開発バージョンに存在しない場合は、現在開発されているバージョンより前のバージョンのパッチを提供する必要があります。

続くワークフローは次のとおりです。

  • まだ開発中の場合でも(Drupal 8)の場合など)、最新バージョンのパッチが作成され、レビューのために送信されます。
  • そのパッチがDrupalに適用されると、以前のバージョンに適用されるパッチが作成され、レビューのために提出されます

2つのDrupalバージョンのパッチを同時に作成できますが、最新のDrupalバージョンのパッチは変更が必要になる可能性があるため、作業することをお勧めします両方を変更する必要がある2つの異なるパッチで作業するよりも、現在開発されているバージョンのパッチ。

参照: バックポートポリシー

これはドキュメントのバグ/改善にも適用されますか?

はい、そうです。この場合も、現在開発されているバージョンでドキュメントが参照している関数/メソッドが削除されている場合は、以前のバージョンのパッチを提供する必要があります。

すべてのパッチにも単体テストが必要ですか?

パッチがドキュメント用の場合、テストは必要ありません。 http://qa.drupal.org で実行されているテストボットは、パッチの適用後にDrupalコードをチェックします。パッチが構文エラーを引き起こす場合(たとえば、コメントは必要になる前に閉じられます)。テストボットは、テストが実行される前にパッチに関するエラーを報告します。

パッチが新機能用である場合、テストが必要です。

パッチがバグを修正することである場合、特定の機能をチェックするテストがまだない場合は、メンテナからのテストが必要になる可能性があります。テストは通常​​、将来同じコードを変更するときに同じバグが再導入されるのを避けるために必要です。バグが単に初期化された変数であり、関数/メソッドから使​​用されていない場合は、テストが不要である可能性があります。

6
kiamlaluno

Drupal.orgのすべてのプロジェクトページの上部に[バージョン管理]タブがあります。特定のプロジェクトのすべてのコードリポジトリオプションの概要だけでなく、すべてのgitコマンドの例もプロジェクトに合わせて調整されています。インタラクティブに特定のバージョンに変更することもできます。

Drupalコアの場合、そのページは http://drupal.org/project/drupal/git-instructions)にあります

次に、パッチを作成したら、パッチファイルの内容を説明する問題にパッチファイルを添付するだけです。

指摘する2つの重要なことは、パッチが「.patch」で終わっていることを確認し、ステータスを「要レビュー」に設定することです。これにより、テストボットはそれに気づき、自動的にテストを実行します。

新しいコードは常に tests を伴う必要があります。

これはプロジェクトによってオフにすることが可能であり、一部ではオフになっていることに注意してください。 Drupalコアの場合はオンですが、すべてのパッチがテストされます。

詳細は http://drupal.org/contribute/development で確認できます。

3
tsvenson