web-dev-qa-db-ja.com

パッチの適用が機能しない

Drupalモジュールのパッチの適用に問題があります。「git apply thepatch.patch」を使用するのと同じくらい簡単だと思いましたが、これを保持するメインディレクトリでこれを行うと.gitディレクトリに次のエラーメッセージが表示されます。

パッチentity_translation.admin.inc…をチェックしています
エラー:entity_translation.admin.inc:そのようなファイルまたはディレクトリはありません

ファイルがあるディレクトリでこれを行っても、何も起こりません。エラーは表示されませんが、ファイルは変更されません。

この特定のパッチに問題はありませんが、パッチを適用できないようで、手動でファイルを編集するだけです。

解決策を一度だけ知りたいのですが。

5
dazz

パッチがdrupal.orgでGitが登場する前に公開された可能性があります。

古いパッチの場合:

patch -p0 < thepatch.patch

git applyで不思議なことに失敗する新しいパッチの場合:

patch -p1 < thepatch.patch
13
tim.plunkett

以下の手順に従ってください:

  1. パッチファイルをダウンロードして、モジュールフォルダに配置します。 sites/all/modules/varnish
  2. 同じモジュールディレクトリにいることを確認してください。 sites/all/modules/varnish
  3. drupal rootでgitを初期化している場合でも、git initコマンドを使用してそのリポジトリでgitを開始します。
  4. コマンドgit apply -v filename.patchを実行します
3
Himanshu Pathak

コマンド git apply -v thepatch.patchは動作するはずです。

パッチを適用するモジュールディレクトリで実行する必要があります(例:sites/all/modules/module_name/) そしてその .patchファイルもそのディレクトリにある必要があります。 -vオプションは冗長であり、パッチの適用が成功したかどうかを通知します。

2
nmc

私も同じ問題を抱えていましたが、私の場合、次のことがうまくいきました。

パッチ-p1 <thepatch.patch

2
bsnodgrass

Drupal.orgでホストされている各プロジェクトに与えられる指示は次のとおりです(たとえば、 このページ で見つけることができます)。

パッチを適用する

作業ディレクトリにパッチをダウンロードします。次のコマンドでパッチを適用します。

git apply -v [patchname.patch]

将来のコミットに誤ってパッチファイルを含めないようにするには、それを削除します。

rm  [patchname.patch]

作業ディレクトリは、モジュールファイルを含むディレクトリです。 Viewsモジュールの場合は、パッチを適用する必要があるviews.module、views.info、views.installファイルを含むディレクトリです。

2
kiamlaluno