Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn2012-09-01 20:41:38 +0000
committerGerrit Code Review @ Eclipse.org2012-09-01 20:41:38 +0000
commita4fa75eb5abc37dd8e39c93e080b028f15380d24 (patch)
treebcb45f28535957c973cdcf0e3a10ec767592b48e
parent8425aaa3874ba87b7a2e4eb3960a23eed3c17523 (diff)
parenteeccca2e7b46c9dde28c9075b25bdcfe29cad2a5 (diff)
downloadegit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.tar.gz
egit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.tar.xz
egit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.zip
Merge "Expand LF to CRLF in input to compare editors."
-rw-r--r--org.eclipse.egit.core/META-INF/MANIFEST.MF3
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java16
2 files changed, 16 insertions, 3 deletions
diff --git a/org.eclipse.egit.core/META-INF/MANIFEST.MF b/org.eclipse.egit.core/META-INF/MANIFEST.MF
index 095649a751..46cebff294 100644
--- a/org.eclipse.egit.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.egit.core/META-INF/MANIFEST.MF
@@ -41,5 +41,6 @@ Import-Package: org.eclipse.jgit.api;version="[2.1.0,2.2.0)",
org.eclipse.jgit.transport;version="[2.1.0,2.2.0)",
org.eclipse.jgit.treewalk;version="[2.1.0,2.2.0)",
org.eclipse.jgit.treewalk.filter;version="[2.1.0,2.2.0)",
- org.eclipse.jgit.util;version="[2.1.0,2.2.0)"
+ org.eclipse.jgit.util;version="[2.1.0,2.2.0)",
+ org.eclipse.jgit.util.io;version="[2.1.0,2.2.0)
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java
index 9bf7990dc1..9988cd1aac 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (C) 2006, Robin Rosenberg <robin.rosenberg@dewire.com>
+ * Copyright (C) 2006, 2012 Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
* Copyright (C) 2011, Dariusz Luksza <dariusz@luksza.org>
*
@@ -26,6 +26,8 @@ import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.treewalk.WorkingTreeOptions;
+import org.eclipse.jgit.util.io.AutoCRLFInputStream;
import org.eclipse.osgi.util.NLS;
/** Accesses a blob from Git. */
@@ -62,7 +64,17 @@ class BlobStorage implements IStorage {
return new ByteArrayInputStream(new byte[0]);
try {
- return db.open(blobId, Constants.OBJ_BLOB).openStream();
+ WorkingTreeOptions workingTreeOptions = db.getConfig().get(WorkingTreeOptions.KEY);
+ switch (workingTreeOptions.getAutoCRLF()) {
+ case INPUT:
+ // When autocrlf == input the working tree could be either CRLF or LF, i.e. the comparison
+ // itself should ignore line endings.
+ case FALSE:
+ return db.open(blobId, Constants.OBJ_BLOB).openStream();
+ case TRUE:
+ default:
+ return new AutoCRLFInputStream(db.open(blobId, Constants.OBJ_BLOB).openStream(), true);
+ }
} catch (MissingObjectException notFound) {
throw new CoreException(Activator.error(NLS.bind(
CoreText.BlobStorage_blobNotFound, blobId.name(), path),

Back to the top