2009-06-12 4 views
8

このパッチはnutch 0.9用です: http://cvs.tty.org/~butch/blog/nutch_0.9_OR.patchJavaプロジェクトにパッチを適用するにはどうすればいいですか?

パッチを正しく適用する方法はありますか?

OSは、Windows XP

具体的には、私はNutchのプロジェクトをデバッグするためにEclipseを使用しています。ここで

は私の裁判です:

D:\nutch-0.9.bak>patch -p0 < nutch_0.9_OR.patch 
Hmm... Looks like an ed script to me... 
(Patch is indented 5 spaces.) 
The text leading up to this was: 
-------------------------- 
|diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 
|--- src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java  2009-03-10 11:34:01.000000000 -0700 
|+++ src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java  2009-03-10 14:11:55.000000000 -0700 
|@@ -4,30 +4,34 @@ 
| public interface NutchAnalysisConstants { 
| 
| int EOF = 0; 
|- int WORD = 1; 
|- int ACRONYM = 2; 
|- int SIGRAM = 3; 
|- int IRREGULAR_WORD = 4; 
|- int C_PLUS_PLUS = 5; 
|- int C_SHARP = 6; 
|- int PLUS = 7; 
|- int MINUS = 8; 
|- int QUOTE = 9; 
|- int COLON = 10; 
|- int SLASH = 11; 
|- int DOT = 12; 
|- int ATSIGN = 13; 
|- int APOSTROPHE = 14; 
|- int WHITE = 15; 
|- int WORD_PUNCT = 16; 
|- int LETTER = 17; 
|- int CJK = 18; 
|- int DIGIT = 19; 
|+ int QOR = 1; 
|+ int WORD = 2; 
|+ int ACRONYM = 3; 
|+ int SIGRAM = 4; 
|+ int IRREGULAR_WORD = 5; 
|+ int C_PLUS_PLUS = 6; 
|+ int C_SHARP = 7; 
|+ int PLUS = 8; 
|+ int MINUS = 9; 
|+ int QUOTE = 10; 
|+ int COLON = 11; 
|+ int SLASH = 12; 
|+ int LPAREN = 13; 
|+ int RPAREN = 14; 
|+ int DOT = 15; 
|+ int ATSIGN = 16; 
|+ int APOSTROPHE = 17; 
|+ int WHITE = 18; 
|+ int WORD_PUNCT = 19; 
|+ int LETTER = 20; 
|+ int CJK = 21; 
|+ int DIGIT = 22; 
| 
| int DEFAULT = 0; 
| 
| String[] tokenImage = { 
|  "<EOF>", 
|+ "\"OR\"", 
|  "<WORD>", 
|  "<ACRONYM>", 
|  "<SIGRAM>", 
|@@ -39,6 +43,8 @@ 
|  "\"\\\"\"", 
|  "\":\"", 
|  "\"/\"", 
|+ "\"(\"", 
|+ "\")\"", 
|  "\".\"", 
|  "\"@\"", 
|  "\"\\\'\"", 
|diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysis.java src/java/org/apache/nutch/analysis/NutchAnalysis.java 
|--- src.orig/java/org/apache/nutch/analysis/NutchAnalysis.java 2009-03-10 11:34:01.000000000 -0700 
|+++ src/java/org/apache/nutch/analysis/NutchAnalysis.java  2009-03-10 14:11:55.000000000 -0700 
|@@ -56,7 +56,11 @@ 
|   queryString, (analyzer != null) ? analyzer : new NutchDocumentAnalyzer(conf)); 
|  parser.queryString = queryString; 
|  parser.queryFilters = new QueryFilters(conf); 
|- return parser.parse(conf); 
|+ try { 
|+  return parser.parse(conf); 
|+ } catch (ParseException pe) { 
|+  throw new IOException("Parse exception: " + pe); 
|+ } 
| } 
| 
| /** For debugging. */ 
|@@ -77,44 +81,60 @@ 
| String field; 
| boolean stop; 
| boolean prohibited; 
|+ boolean required; 
|  nonOpOrTerm(); 
|  label_1: 
-------------------------- 
File to patch: 

答えて

0
  1. あなたは、元のソース必要
  2. あなたは(私が来て、Windows用のコピーを持ってパッチ Unixのユーティリティが必要です(特定のバージョンでは!)私の貴重なUnxUtils、googleのSourceForgeプロジェクトを見つけるための名前)。ああ、ちょうど名前が正しいことを確認するためにちょうどした:UnxUtils
  3. このパッチを適用すると、ソースが変更されます
  4. プロジェクトをコンパイルします。
+0

私のQはこのパッチの適用方法ですか?私はそのユーティリティを既にインストールしています。 – omg

0

Cygwinはありますか?これをインストールすると、上記と一緒に使うことができるpatch.exeとその他の非常に便利なものが得られます。

あなたは使用してパッチを適用することができます。

patch originalfile -i patchfile.patch -o updatedfile 
+0

しかし、このパッチは複数のファイルを修正する予定です。 – omg

0

ワン:あなたのコードのバックアップを作成します。

2つ:コードのバックアップを作成しましたか?

三8)

:Eclipseを述べたので

cd \path\to\nutch 
patch -p0 < nutch_0.9_OR.patch 
15

- プロジェクトを右クリックし、チームに行く - >パッチを適用します。

+0

それは助けるべきです! しかし、どのファイルが変更されているかはどのように知ることができますか? – omg

+0

適用パッチウィザードはあなたのためにすべてを行います。 –

+0

しかし、私は変更されたファイルのリストを持っている必要があります、どのように? – omg

1

私は次のことを仮定している:Cにインストール

  • UnxUtils:\ unxutils
  • "C:\ unxutils \ binに" と "C:\ unxutils \ USR \ローカル\ wbin "がPATH変数に含まれています。 Cで
  • Nutchのファイル:、塊、ファイルpatch.cを:Nutchの-0.9
  • \ nutch_0.9_OR.patchあなたはアサーションが失敗しました」この1 のようなエラーになります他のウィンドウの行の区切り文字に変換Cにコピーされたライン321"
  • nutch_0.9_OR.patch:Nutchの-0.9

\次に、コマンドライン CDのCを開く:Nutchの-0.9 PATCH.EXE -p0 -u \ -i nutch_0.9_OR.patch

仕上がり!

4

プロジェクトを右クリックすると、チーム/適用パッチが使用されます。

ウィザードの3番目のステップ(レビューパッチ)には、修正されたソースファイルがリストされているパッチコンテンツセクションが含まれています。