Additional fix for bug 358527: Applying a Git patch needs too much user
work
diff --git a/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java b/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java
index dd7f190..1d38288 100644
--- a/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java
+++ b/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java
@@ -183,6 +183,7 @@
String diffArgs= null;
String fileName= null;
List headerLines = new ArrayList();
+ boolean foundDiff= false;
// read leading garbage
reread= line!=null;
@@ -197,8 +198,9 @@
if (line.startsWith("Index: ")) { //$NON-NLS-1$
fileName= line.substring(7).trim();
} else if (line.startsWith("diff")) { //$NON-NLS-1$
- if (!this.fIsGitPatch && GIT_PATCH_PATTERN.matcher(line).matches())
+ if (!foundDiff && GIT_PATCH_PATTERN.matcher(line).matches())
this.fIsGitPatch= true;
+ foundDiff= true;
diffArgs= line.substring(4).trim();
} else if (line.startsWith("--- ")) { //$NON-NLS-1$
line= readUnifiedDiff(diffs, lr, line, diffArgs, fileName);