web-dev-qa-db-ja.com

パッチを適用するには?

FTPサーバーにDrupal 7をインストールしました。Drupalパッチを適用しようとしています。

私はオンラインで多くのリンクを見ましたが、DrupalがホスティングアカウントのFTPサーバーにある間は誰もそれを行う方法を示していません。私がそれを行う方法はたくさんあると思います。1つの方法はNet Beansを取得します。NetBeansを最初にFTPサーバーにインストールする必要があるのか​​、ローカルマシンにインストールする必要があるのか​​わかりません。

初心者のためにいくつかの詳細を提供できれば、それは役に立ちます。

1
learn4ever

UNIXベースのシステム(MacOSX、さまざまなLinuxディストリビューションなど)を使用している場合、patchユーティリティはここでの優れたツールです。私は通常、次のコマンドを使用します。

patch -p1 < patch-file.patch

とともに -p1オプションは、すでにgitリポジトリの下にあるインストールに重要です。

ただし、ユースケースは少し異なるようです。 drupal.orgには、さまざまな環境でパッチを適用するための 優れたドキュメントページ があります。

4
Shawn Conn

Gitによるパッチの適用 に完全なチュートリアルがあります。これを手動で行う簡単な方法もあります。例として このパッチ はCtoolsエラーを修正します。これはコードです

_diff --git a/includes/css-cache.inc b/includes/css-cache.inc
index d88160b..607b886 100644
--- a/includes/css-cache.inc
+++ b/includes/css-cache.inc
@@ -10,6 +10,12 @@ class CToolsCssCache implements DrupalCacheInterface {
   /**
    * {@inheritdoc}
    */
+  function __construct($bin) {
+  }
+
+  /**
+   * {@inheritdoc}
+   */
 public function clear($cid = NULL, $wildcard = FALSE) {
 // Only clear the caches if the wildcard is set, this ensures that the cache
 // is only cleared when the full caches are cleared manually (eg by invoking
_

_/includes/css-cache.inc_は、変更する必要があるファイルを決定します。 _+_記号は追加する必要があるコードであり、_-_記号は削除する必要があるコードを意味します(ここにはありません)。したがって、このパッチの結果として、public function clear($cid = NULL, $wildcard = FALSE) {ステートメントを探して、

_ function __construct($bin) {
 }
_

その上。明らかにこの行は_class CToolsCssCache implements DrupalCacheInterface_クラスにあります。

パッチをインストールするのが難しい場合は、私が言ったようにファイルを変更して、エラーがなくなったかどうかを確認してください。

3
M a m a D

ほとんどのユーザーは Gitコマンド を使用してパッチを適用しますが、- 手動 でも実行できます。

2
CocoSkin

上記の優れたドキュメントを使用してローカルマシンにパッチを適用し、変更されたファイルをFTPで送信します。

この間、どこかでバージョン管理システムを使用しているといいのですが。率直に言って、私がまだFTPを使用してコードファイルを移動しているサーバーのセットアップは受け入れません。

2
RoloDMonkey

さらに別のアプローチは Patch Manager モジュールを使用することです。以下は、プロジェクトページからの抜粋です。

...コアモジュールおよびコントリビュートモジュールへのパッチを管理するための開発者ツールを提供します。

バリエーションとして、考慮すべき他のオプションを以下に示します(同じプロジェクトページにも記載されています):おそらくより良い解決策は、パッチを適用するために Drush またはDrush拡張機能 を使用することです。 Drush Issue Queue Commands 安全でない構成に依存しないため。

1
Pierre.Vriens